sql - Laravel Eloquent:选择一个字段等于另一个字段的记录
问题描述
如果这是重复的,我很抱歉。是否可以在 Eloquent ORM 中选择一个字段等于另一个字段的记录?在 MySQL 中,这意味着:
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', ModelId, '%')
是否可以在 Eloquent 中这样做,或者我必须使用原始查询?
解决方案
在查询构建器(和雄辩的)中等于另一个字段的字段上,whereColumn('Url', 'LIKE', 'ModelId')
但是由于您在第二部分中有其他内容,您将需要使用原始查询,例如
DB::table('table')
->select('Id', 'Url', 'ModelId')
->where('Url', 'LIKE', DB::raw("CONCAT('%', ModelId, '%')"));
推荐阅读
- java - 巴西在 Java 上的夏令时新规则
- excel - 为什么我的代码将第二行作为标题而不是第一行
- python - pytest:在每次 looponfail 运行时写入时间戳
- c - 让 MSVC 接近 clang 的性能
- php - PHP合并子数组
- hive - Hive:使用分区在 hive 表中查找最新日期
- http - 浏览器如何处理 Cache-Control 标头中的 `no-cache="Set-Cookie"`
- php - 使用嵌套的 for/foreach 循环时文件意外结束
- javascript - 如何在 React 中使内联样式使用状态?
- json.net - 如何将十进制序列化为字符串?