如何让whereIn里面的数字 不被转成字符串

如何让whereIn里面的数字 不被转成字符串
Laravel

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

laravel实际执行的时候不会转换成字符串,你打印的sql应该是通过替换占位符生成的,统一转成了字符串

1年前 评论
讨论数量: 11

laravel实际执行的时候不会转换成字符串,你打印的sql应该是通过替换占位符生成的,统一转成了字符串

1年前 评论

超过数字的最大值就只能字符了吧

1年前 评论
哪吒的狗腿子 (楼主) 1年前
deatil (作者) 1年前
哪吒的狗腿子 (楼主) 1年前

如果是 MySQL 的话,没什么影响呐。

列是数字类型,值是字符串,不会有啥影响呐,反过来会有影响。

1年前 评论

在database config里加 PDO::ATTR_STRINGIFY_FETCHES => false

1年前 评论

->whereIn('id', [1, Db::raw('2')])

1年前 评论

class Post extends Model
{
    /**
     * The attributes that should be cast.
     *
     * @var array<string, string|class-string>
     */
    protected $casts = [
        'transaction_id' => 'int',
    ];
}

我是这样弄的, 应该是可以的

Laravel

1年前 评论
kis龍 (作者) 1年前
哪吒的狗腿子 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!