在模型中的所有列上执行where()(Laravel)

时间:2019-01-05 01:14:16

标签: laravel

我想对模型中的所有列执行where(),例如在ANY列中,我想找到字符串“ 123”,而不仅仅是单列ALL列(不链接) whereOr()

例如,数据库具有

| Title | Body1 | Body2| Body3| My Model foo foo 123

,然后在所有列上执行where()。

提前谢谢

1 个答案:

答案 0 :(得分:0)

我认为,如果您不打算链接where(),这是最好的方法。

    $columns = ['Title','Body1','Body2','Body3'];
    $query = ModelName::select('*');
    foreach($columns as $column)
    {
     $query->orWhere($column, '=', '123');
   }
   $models = $query->get();

与在代码中链接一堆where()语句相比,这可以节省一小段但可观的时间。 希望这可以帮助!!!