谁能告诉我如何用 Eloquent 编写这个查询?
SELECT * FROM `projects` WHERE `id`='17' OR `id`='19'
我在想
Project::where('id','=','17')
->orWhere('id','=','19')
->get();
在这种情况下,我的变量(17 和 19)也来自多选框,所以基本上是在一个数组中。关于如何循环并动态添加这些 where/orWhere 子句的任何线索?
谢谢。
最佳答案
您可以通过三种方式进行。假设您有一个
形式的数组['myselect' => [11, 15, 17, 19], 'otherfield' => 'test', '_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();
关于php - Laravel Eloquent orWhere 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27632236/