Laravel 查询生成器 - IN 运算符
Laravel Query Builder - IN operator
我正在尝试构建连接多个表的查询,但在使用 IN 运算符编写连接时遇到问题。这是一个例子:
LEFT JOIN sProductDetailWarehouse pdw ON (pdw.ID_sProductDetail = pd.ID AND pdw.ID_sWarehouse IN (52,118))
这两个值已设置,不需要作为参数....但这不起作用,因为没有 IN 运算符:
->leftJoin('sProductDetailWarehouse as pdw', function($join)
{
$join->on('pdw.ID_sProductDetail', '=', 'pd.ID');
$join->on('pdw.ID_sWarehouse','IN',DB::raw("(52,118)"));
})
我该如何加入?我确定有办法做到这一点,我只是找不到它...
当您需要加入数据时,您需要使用 'where' 方法而不是 'on'
例如
->leftJoin('sProductDetailWarehouse as pdw', function($join)
{
$join->on('pdw.ID_sProductDetail', '=', 'pd.ID');
$join->whereIn('pdw.ID_sWarehouse',[52,118]);
})
我正在尝试构建连接多个表的查询,但在使用 IN 运算符编写连接时遇到问题。这是一个例子:
LEFT JOIN sProductDetailWarehouse pdw ON (pdw.ID_sProductDetail = pd.ID AND pdw.ID_sWarehouse IN (52,118))
这两个值已设置,不需要作为参数....但这不起作用,因为没有 IN 运算符:
->leftJoin('sProductDetailWarehouse as pdw', function($join)
{
$join->on('pdw.ID_sProductDetail', '=', 'pd.ID');
$join->on('pdw.ID_sWarehouse','IN',DB::raw("(52,118)"));
})
我该如何加入?我确定有办法做到这一点,我只是找不到它...
当您需要加入数据时,您需要使用 'where' 方法而不是 'on'
例如
->leftJoin('sProductDetailWarehouse as pdw', function($join)
{
$join->on('pdw.ID_sProductDetail', '=', 'pd.ID');
$join->whereIn('pdw.ID_sWarehouse',[52,118]);
})