gpt4 book ai didi

php - 在 laravel 中查找匹配的行

转载 作者:行者123 更新时间:2023-11-29 12:21:45 32 4
gpt4 key购买 nike

这是我的 table

Id   | No   |Group
1 | 1 |Alpha
1 | 1,2 |Alpha
1 | 2,4,5|Alpha

如何使用 laravel eloquent 找到 No5 的行

$Match = MyModel::whereIn('No', array(5))->get();

但它没有返回任何行。

当我尝试查看执行的查询时,它会向我显示

select * from `table` where `No` in (5) 

如何在 php 和 laravel 中执行此操作

最佳答案

作为纯粹的 Eloquent 解决方法,您也许可以执行以下操作:

$id = 5
$Match = MyModel::with(array('No' => function($query) use($id) {
$query->where_id($id);
}))->get();

使用 Raw 和 FIND_IN_SET,例如:

$Match = MyModel::whereRaw(
'find_in_set(?, `No`)',
[5]
)->get();

(未经测试)

但这永远不会是一个有效的查询,因为它不能使用索引;还有许多其他原因导致逗号分隔列表不是一个好主意(例如缺乏引用完整性)

真正的解决方案始终是正确规范您的数据库

关于php - 在 laravel 中查找匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914390/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com