我尝试在IN子句搜索的地方进行左连接。但我无法将数组绑定到查询。
$query = DB::table('offers');
$query->select('id', 'business_id', 'address_id', 'title', 'details', 'value', 'total_available', 'start_date', 'end_date', 'terms', 'type', 'coupon_code', 'is_barcode_available', 'is_exclusive', 'userinformations_id', 'is_used');
$query->leftJoin('user_offer_collection', function ($join)
{
$join->on('user_offer_collection.offers_id', '=', 'offers.id');
$join->on('user_offer_collection.user_id', 'IN', DB::Raw('?'));
})->setBindings(array_merge($query->getBindings() , array(array(
1,2,3
))));
答案 0 :(得分:1)
如果使用查询构建器或雄辩的ORM,则不必绑定参数。但是,如果使用DB::raw()
,请确保绑定参数。
尝试以下方法:
$array = array(1,2,3);
$query = DB::table('offers');
$query->select('id', 'business_id', 'address_id', 'title', 'details', 'value', 'total_available', 'start_date', 'end_date', 'terms', 'type', 'coupon_code', 'is_barcode_available', 'is_exclusive', 'userinformations_id', 'is_used');
$query->leftJoin('user_offer_collection', function ($join) use ($array)
{
$join->on('user_offer_collection.offers_id', '=', 'offers.id')
->whereIn('user_offer_collection.user_id', $array);
});
$query->get();