несколько условий соединения с целочисленными значениями - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу сделать объединение с несколькими условиями:

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

Это приводит к ошибке:

Неизвестный столбец «2» в «предложении»

Как я могу использовать фактические значения в соединении при условии, что они не будут красноречиво интерпретировать его как имя столбца? Он отлично работает с реальным запросом SQL:

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

1 Ответ

0 голосов
/ 25 апреля 2018

Замените on на where, если вы хотите отфильтровать ваше объединение

Если вы хотите использовать в своих соединениях стиль "где", вы можете использовать методы where и orWhere для объединения

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

Документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...