Laravel Eloquent orWhere 查询

2021-12-26 00:00:00 where php laravel eloquent

谁能告诉我如何用 Eloquent 编写这个查询?

Can someone show me how to write this query in Eloquent?

SELECT * FROM `projects` WHERE `id`='17' OR `id`='19'

我在想

Project::where('id','=','17')
        ->orWhere('id','=','19')
        ->get();

在这种情况下,我的变量(17 和 19)也来自多选框,所以基本上是在一个数组中.关于如何循环并动态添加这些 where/orWhere 子句的任何线索?

Also my variables (17 and 19) in this case are coming from a multi select box, so basically in an array. Any clues on how to cycle through that and add these where/orWhere clauses dynamically?

谢谢.

推荐答案

您可以通过三种方式进行.假设你有一个

You could do in three ways. Assume you've an array in the form

['myselect' =>[11, 15, 17, 19], 'otherfield' =>'测试', '_token' =>'jahduwlsbw91ihp'] 可能是 Input::all();

   Project::where(function ($query) {
      foreach(Input::get('myselect') as $select) {
         $query->orWhere('id', '=', $select);
      }
   })->get();

  •    Project::whereIn('id', Input::get('myselect'))->get();
    

  •    $sql = DB::table('projects');
       foreach (Input::get('myselect') as $select) {
           $sql->orWhere('id', '=', $select);
       }
       $result = $sql->get();
    

  • 相关文章