Я хочу выполнить соединение с несколькими условиями:
->join('filters', function($join) {
$join->on('filters.result_id', '=', 'results.id');
$join->on('filters.result_filter_id', '=', 2);
$join->on('filters.value', '>', 1);
})
Это приводит к ошибке:
Unknown column '2' in 'on clause'
Как я могу использовать фактические значения в соединении по условию без красноречивой интерпретации его как имени столбца? Он отлично работает с фактическим SQL-запросом:
JOIN filters ON filters.result_id = results.id
AND filters.result_filter_id = 2
AND filters.value > 1






Замените on на where, если вы хотите отфильтровать свое объединение
If you would like to use a "where" style clause on your joins, you may use the where and orWhere methods on a join
->join('filters', function($join) {
$join->on('filters.result_id', '=', 'results.id')
->where('filters.result_filter_id', '=', 2)
->where('filters.value', '>', 1);
})