Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么laravel查询生成器不';t支持与IN-condition操作符连接?_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 为什么laravel查询生成器不';t支持与IN-condition操作符连接?

Php 为什么laravel查询生成器不';t支持与IN-condition操作符连接?,php,laravel,laravel-5,Php,Laravel,Laravel 5,我在拉拉维尔试着做这样的事情: DB::table('TABLE1')->join('TABLE2', 'COLUMN1', 'IN', '(1,2,3)') 但当我查看Builder.php文件时,ON子句只支持以下运算符: public$operators=[ '=', '', '=', '', '!=', ‘like’、‘like binary’、‘not like’、‘between’、‘ilike’, '&', '|', '^', '', “rlike”、“regexp”、“n

我在拉拉维尔试着做这样的事情:

DB::table('TABLE1')->join('TABLE2', 'COLUMN1', 'IN', '(1,2,3)')
但当我查看Builder.php文件时,ON子句只支持以下运算符:

public$operators=[
'=', '', '=', '', '!=',
‘like’、‘like binary’、‘not like’、‘between’、‘ilike’,
'&', '|', '^', '',
“rlike”、“regexp”、“not regexp”,
“~”、“~*”、“!~”、“!~*”、“类似于”,
'不类似于','不象','~~*','!~*',
];

是否有任何原因导致IN未列在$operators中?

您应该在join子句中使用
,其中

DB::table('table_name')->join('table_name', function($join) {
    $join->whereIn('table_name.column', ['valueA', 'valueB', 'valueC']);
}
快速提示:一些问题已经在Laravel的GitHub存储库中得到了解答:

Laravel 5.3升级说明包含以下信息:

on
子句的运算符现在也被选中,并且不能 较长的字段包含无效值。如果您依赖于该功能 (例如,
$join->on('foo','in',DB::raw('bar'))
)您应该重写 使用适当where条款的条件:

 $join->whereIn('foo', ['bar']);
 $join->whereIn('foo', ['bar']);