Laravel 如何查询 MySQL 的时候指定类型呢?

由于不知道原因导致了id的类型是chat存的 laravel会把id转成int去查询,我强行指定string也是没生效 有大神指导吗?
这是mysql的日志:

select count(*) as aggregate from `posts` where (`is_show` = 1) and (`user_id` = 12798253142245376) and `posts`.`deleted_at` is null;

laravel 如何查询mysql的时候指定类型呢?

想转成下面的格式

select count(*) as aggregate from `posts` where (`is_show` = 1) and (`user_id` = '12798253142245376') and `posts`.`deleted_at` is null;

laravel 如何查询mysql的时候指定类型呢?
修改器也使用过

Laravel 如何查询 MySQL 的时候指定类型呢?

Laravel 如何查询 MySQL 的时候指定类型呢?

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

试一下原生SQL可以的话,直接用 Laravel 执行原生SQL试试看可否。

5年前 评论
charming-xiaoxia (楼主) 5年前

通过属性转换器,让laravel认为这就是string类型。在model中定义$casts:

$casts = [
    'user_id' => 'string'
]

文档

5年前 评论
charming-xiaoxia (楼主) 5年前

试试这个 Illuminate\Database\Eloquent\Model 类里, 你试试在你的 模型类中 重写这个属性
file

5年前 评论
charming-xiaoxia (楼主) 5年前

我自己测试了一下, 貌似这样也不好用.

你可以这样 在查询的时候把你的 user_id 转为 string 类型, 这样是可以的.

5年前 评论
charming-xiaoxia (楼主) 5年前

$this->activityEos->getEosByUserId((string)$id, ['*'])

5年前 评论

file

5年前 评论
ouer1994 5年前
ouer1994 5年前
charming-xiaoxia (作者) (楼主) 5年前
charming-xiaoxia (作者) (楼主) 5年前
ouer1994 5年前

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