我不知道是否可以这样做,但我希望能够动态地添加到其中的条件。我想有个办法。我希望能够发送一个查询而不是多个查询到数据库。
这是我到目前为止写的代码
$elements = NutritionValues::where(function($query) use ($client_id, $products) {
foreach($products as $product) {
$query->where('client_id', '=', $client_id)
->where('product_id', '=', $product['product_id'])
->where('ingredient_name', '=', $product['element_name']);
}
})->get();
return $elements;
您的查询看起来不错,但是您用来构建它的数据可能会给您无效的结果。在查询前添加此命令:
DB::listen(function($sql, $bindings, $time) {
var_dump($sql);
var_dump($bindings);
});
显示在你的页面或
DB::listen(function($sql, $bindings, $time) {
Log::info($sql);
Log::info($bindings);
});
发送到日志。
它将显示生成的查询和用于执行查询的值(绑定)。分析它并在cli中执行它,或者在任何程序中直接连接到数据库服务器。