在我的Laravel 5.2控制器中,我正在使用Eloquent ORM执行请求:
$products = Product::where('first_condition', 'first_condition_value')
->where('second_condition', 'second_condition_value')
->get();
此请求工作正常,并给出符合两个条件的产品列表。
理想情况下,我想生成一个$request
变量并在我的请求中使用它:
$request = "where('first_condition', 'first_condition_value')->where('second_condition', 'second_condition_value')"
我没能使这段代码运行。
为了给你更多的视角,请求可以有从2到n的多个条件,所以我想用for
循环生成它。
将额外的条件包装在数组中,并循环它们,如以下代码片段:
<?php
$query = Product::where('first_condition', 'first_condition_value');
$conditions = array(
'second_condition' => 'second_condition_value',
'third_condition' => 'third_condition_value',
);
foreach ($conditions as $key => $value) {
$query->where($key, $value);
}
$products = $query->get();