Mam 2 tabele, użytkowników i umiejętności oraz wiele do wielu relacji między nimi. Tabela przestawna skill_user ma również kolumnę "level" - na jakim poziomie ten użytkownik zna tę umiejętność.Laravel wiele do wyboru z Eloquent
w modelu użytkownika mam:
public function skills(){
return $this->belongsToMany('Skill')->withPivot('level');
}
aw modelu mistrzostwo:
public function users(){
return $this->belongsToMany('User');
}
Teraz trzeba uruchomić kwerendę, która zwróci coś takiego:
„Wybierz wszyscy użytkownicy, którzy mają skill_id_1> 40 & & skill_id_2> 55 & & skill_id_3> 67 "
gdzie skills_ids są różnymi umiejętnościami, a każdy użytkownik powracający powinien posiadać każdą z wymaganych umiejętności na wymaganym poziomie.
Szukałem w dokumentacji Laravel i w stackoverflow tyle, ile mogłem, ale nie mogłem znaleźć rozwiązania. Każda pomoc będzie doceniona, dzięki!
Powinieneś raczej wyjaśnić to lepiej. Jakie masz tabele i jak zdobyć skill_id_1. W tej chwili niezbyt jasne jest, że –
skill_id_1 i skill_id_2 to tylko zmienne, będą rzeczywiste identyfikatory, na przykład: "Wybierz wszystkich użytkowników, którzy mają php (z id = 1)> 40 && mysql (id = 2)> 55" –