问答 / 2 / 11 / 创建于 1年前
如何让whereIn里面的数字 不被转成字符串
laravel实际执行的时候不会转换成字符串,你打印的sql应该是通过替换占位符生成的,统一转成了字符串
class Post extends Model { /** * The attributes that should be cast. * * @var array<string, string|class-string> */ protected $casts = [ 'transaction_id' => 'int', ]; }
我是这样弄的, 应该是可以的
超过数字的最大值就只能字符了吧
如果是 MySQL 的话,没什么影响呐。
列是数字类型,值是字符串,不会有啥影响呐,反过来会有影响。
在database config里加 PDO::ATTR_STRINGIFY_FETCHES => false
PDO::ATTR_STRINGIFY_FETCHES => false
->whereIn('id', [1, Db::raw('2')])
我要举报该,理由是:
laravel实际执行的时候不会转换成字符串,你打印的sql应该是通过替换占位符生成的,统一转成了字符串