如何在哪里条件下传递数组? Laravel 5.3

时间:2017-03-15 14:59:35

标签: php mysql laravel laravel-5.3 laravel-eloquent

如果我有这样的数据

例如,我的表是国家/地区表

第一个数据:

  

id = 1; name = england; deleted_by = 1,3

第二个数据:

  

id = 2; name =西班牙; deleted_by = 2,4

我试着这样:

Country::whereIn('deleted_by', $user_id)->get(); 

但似乎我的情况不能使用whereIn

例如,我想显示数据有user_id = 1

我该怎么做?

注意:

deleted_by =用户ID删除的数据

$ user_id =正在记录的用户ID

1 个答案:

答案 0 :(得分:2)

这不是它的工作原理。你可以这样做:

Country::where('deleted_by', 'like', ','.$user_id.',')->get();

将数据存储为,2,4,

但更好的方法是将用户ID保存在单独的数据透视表中并使用many-to-many relationship