Php 如何在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 =

我在Laravel查询生成器中动态添加条件where语句

$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个左连接。让我测试一下。让我测试一下。