Php 如何在Laravel where子句数组中添加第三个参数
我在Laravel查询生成器中动态添加条件where语句Php 如何在Laravel where子句数组中添加第三个参数,php,laravel,laravel-5,Php,Laravel,Laravel 5,我在Laravel查询生成器中动态添加条件where语句 $whereClause = array( $field_name1 => $field_value1, $field_name2 => $field_value2, $field_name3 => $field_value3 ); $factories =
$whereClause = array(
$field_name1 => $field_value1,
$field_name2 => $field_value2,
$field_name3 => $field_value3
);
$factories = DB::table('factories')
->where($whereClause)
->orderBy('ipo', 'desc')
->paginate(15);
上面的工作很好,问题是我需要添加where语句的第三个pram'like'->where'name','like','%'$搜索文本。“%”在$whereClause数组中,如何执行此操作?如果要使用运算符,则需要使用另一个数组。因此,您的阵列将如下所示:
$whereClause = [
$field_name1 => $field_value1,
$field_name2 => $field_value2,
$field_name3 => $field_value3,
[$field_name4, 'like', '%something%']
]
如果要使用运算符,则需要使用另一个数组。因此,您的阵列将如下所示:
$whereClause = [
$field_name1 => $field_value1,
$field_name2 => $field_value2,
$field_name3 => $field_value3,
[$field_name4, 'like', '%something%']
]
您可以在查询中使用多个where语句,一个用于like,另一个用于数组。我需要添加同一个数组,因为将有一个大数组。只需添加外部数组。。。不要浪费时间,因为你必须这样做。如果你在$whereClause数组中添加['name','like',%%$search\u text%],它应该可以工作。@Vincent Decaux你是对的,但这会大大增加查询和函数的大小,因为我已经有非常大的查询了,大约有20个左连接。查询中可以有多个where语句,一个用于like,另一个用于数组。我需要添加同一个数组,因为将有一个大数组。只需添加外部数组。。。不要浪费时间,因为你必须这样做。如果你在$whereClause数组中附加['name','like',%%$search\u text%],它应该可以工作。@Vincent Decaux你说得对,但这会大大增加查询和函数大小,因为我已经有非常大的查询,大约有20个左连接。让我测试一下。让我测试一下。