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]);
    })