Laravel 5: 如何验证数据库 table 字段中用逗号分隔的值是否包含在数组中?

Laravel 5: How to verify if values separated by comma from a database table field are contained in an array?

所以,基本上我的数据库中的 table 中有一个字段,其中包含一些用逗号分隔的值(例如:value1, value2, value3)。我需要以某种方式检查这些值中的一个或多个是否包含在值数组中并检索模型。我想要一个使用 Eloquent 模型查询来实现此目的的解决方案,如果不能使用模型查询,那么查询生成器解决方案也可以,或者可能有其他选择。

尝试在 where 语句中使用一个函数,在该语句中循环值数组并使用 like 运算符查询模型以检查字段值是否与数组中的值匹配最后我得到了这样的东西:

$devices = explode(",", Input::get("devices"));
$products = Product::where(function ($q) use ($devices) {
   foreach ($devices as $device) {
      $q->orWhere("compatible_devices", "like", "%" . $device . "%");
   }
})->get();

到目前为止效果很好。