【发布时间】:2017-03-15 14:59:35
【问题描述】:
如果我有这样的数据
比如我的表是国家表
第一个数据:
id = 1;名字=英格兰; deleted_by = 1, 3
第二个数据:
id = 2;名称=西班牙; deleted_by = 2, 4
我尝试这样:
Country::whereIn('deleted_by', $user_id)->get();
但是我的case好像不能用whereIn
例如,我想显示数据有一个 user_id = 1
我该怎么做?
注意:
deleted_by = 用户id删除的数据
$user_id = 正在记录的用户 ID
【问题讨论】:
-
尝试将
where()条件更改为find()仅在查找中添加id -
澄清一下,您的
deleted_by列可以包含多个用逗号分隔的ID?? -
@Ross Wilson,不,它只有两个 id
-
如果它只有 2 个 ID(严格),那么您可以有一个
deleted_by_one和deleted_by_two列,而不是将它们混合在一起。 -
记住,第一范式要求基表的每一行列交集是原子的(相对于上下文),所以如果你有一个包含用户标识符的列,那么每一行都需要在该列中存储一个用户标识符。
标签: php mysql laravel laravel-5.3 laravel-eloquent