Symfony - Propel - 值不是整数

发布于 2024-10-19 16:54:29 字数 560 浏览 4 评论 0原文

在我的模式中,我设置了大小:

size: { type: bigint, required: true }

我生成的“基本”模型给了我:

public function setSize($v)
{
    if ($v !== null) {
        $v = (string) $v;
    }

    if ($this->size !== $v) {
        $this->size = $v;
        $this->modifiedColumns[] = TorrentPeer::SIZE;
    }

    return $this;
} // setSize()

为什么它会将其设置为字符串而不是整数?

我现在收到错误:

"7818435653" is not an integer.

我尝试将 (string) 更改为 (int),但它不起作用,我收到相同的错误。我很困惑为什么当我指定 bigint 时 Propel 会生成这个值字符串。有什么帮助吗?

in my schema I set the size:

size: { type: bigint, required: true }

My generated 'base' model gives me:

public function setSize($v)
{
    if ($v !== null) {
        $v = (string) $v;
    }

    if ($this->size !== $v) {
        $this->size = $v;
        $this->modifiedColumns[] = TorrentPeer::SIZE;
    }

    return $this;
} // setSize()

Why does it case it to a string and not an integer?

I now receive the error:

"7818435653" is not an integer.

I tried changing the (string) to (int), but it did not work, I receive the same error. I'm confused why Propel made this value string when I specified bigint. Any help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

土豪我们做朋友吧 2024-10-26 16:54:29

propel 将 bigint 存储为字符串,因为 PHP 的整数类型太小: http://www .propelorm.org/wiki/Documentation/1.5/Schema#NumericTypes

propel stores bigint as a string as PHP's integer type is too small: http://www.propelorm.org/wiki/Documentation/1.5/Schema#NumericTypes

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文