我想加入多个条件:

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


这会导致错误:


  “ on子句”中的未知列“ 2”


如何在联接条件上使用实际值,而不必雄辩地将其解释为列名?它可以与实际的SQL查询配合使用:

JOIN filters ON filters.result_id = results.id
AND filters.result_filter_id = 2
AND filters.value > 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

关于mysql - laravel具有整数值的多个联接条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50020428/

10-13 02:16