laravel使用整数值的多个连接条件

时间:2018-04-25 10:52:16

标签: mysql laravel join eloquent

我想在多个条件下进行连接:

->join('filters', function($join) {
    $join->on('filters.result_id', '=', 'results.id');
    $join->on('filters.result_filter_id', '=', 2);
    $join->on('filters.value', '>', 1);
})

这会导致错误:

  

未知栏' 2'在' on条款'

如何在条件连接中使用实际值而不必将其解释为列名?它适用于实际的SQL查询:

JOIN filters ON filters.result_id = results.id 
AND filters.result_filter_id = 2 
AND filters.value > 1

1 个答案:

答案 0 :(得分:1)

如果您要过滤加入

,请将on替换为where
  

如果您想在联接中使用“where”样式子句,则可以在联接中使用where和orWhere方法

->join('filters', function($join) {
    $join->on('filters.result_id', '=', 'results.id')
        ->where('filters.result_filter_id', '=', 2)
        ->where('filters.value', '>', 1);
})

Documentation