/ / laravel wiele warunków łączenia z wartościami całkowitymi - mysql, laravel, join, eloquent

laravel wiele warunków łączenia z wartościami całkowitymi - mysql, laravel, join, eloquent

Chcę utworzyć połączenie z wieloma warunkami:

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

Powoduje to błąd:

Nieznana kolumna "2" w "klauzuli"

W jaki sposób mogę użyć rzeczywistych wartości w łączeniu na warunek bez wymownej interpretacji go jako nazwy kolumny? Działa dobrze z rzeczywistą kwerendą SQL:

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

Odpowiedzi:

0 dla odpowiedzi № 1

Zastąpić on z where jeśli chcesz filtrować dołączenie

Jeśli chcesz użyć klauzuli "where" w swoich połączeniach, możesz użyć metod where i orWhere na join

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

Dokumentacja