thinkphp user表中有字段shop_ids的值为1,2,3,4,如何通过DB类查询字段shop_ids中有3,4的数据,要求where方法写成数组传入
时间: 2024-05-02 11:19:20 浏览: 74
您可以使用以下代码实现:
```
$shopIds = [3, 4];
$result = Db::table('user')->where('FIND_IN_SET(shop_ids, :shopIds)', ['shopIds' => implode(',', $shopIds)])->select();
```
这样可以查询出user表中字段shop_ids包含3或4的数据。
相关问题
thinkphp user表中有字段shop_ids的值为1,2,3,4,如何通过DB类查询字段shop_ids中有3的数据
您可以使用以下代码查询字段shop_ids中是否含有3的数据:
$users = Db::table('user')->whereLike('shop_ids','%3%')->select();
此代码使用了thinkphp的Db类的whereLike方法来查询字段shop_ids中是否含有3的数据,将查询结果赋值给$users变量。
thinkphp user表中有字段shop_ids的值为1,2,3,4,如何通过DB类查询字段shop_ids中有3,4的数据
可以使用以下代码进行查询:
```
use think\Db;
$result = Db::table('user')->where('FIND_IN_SET("3", shop_ids)')->where('FIND_IN_SET("4", shop_ids)')->select();
```
这里使用了MySQL的函数FIND_IN_SET来查找shop_ids中包含3和4的数据。注意,这里不需要对shop_ids字段进行拆分,因为FIND_IN_SET函数会自动对字符串进行逗号分隔。
阅读全文