Autor Zpráva
jefitto44
Profil
Skúšam pre našu farnosť urobiť appku, kde by sa zapisovali pohreby a svadby, ktorý kňaz má kedy slúžiť, ktorý organista hrať a pod. V podstate ide o to, že mám dump tabuľku pohrebov. Okrem iného obsahuje stlpce:

priest_id, organ_player_id - čiže id kňaza a id organistu. Obidvaja sa však nachádzajú v tabuľke "users" a navyše ešte potrebuje liezť do "user_profiles", aby som získal ich mená. V "users" je len nickname. Teda potrebujem raz ísť do user po meno kňaza a druhý krát do user po meno organistu.
Robím to v laraveli. Tu je query builder:

$results = DB::table('funerals as f')
                        ->join('users as ua', 'f.priest_id', '=', 'ua.id')
                        ->join('users as ub', 'f.organ_player_id', '=', 'ub.id')
                        ->join('user_profiles as upa', 'ua.id', '=', 'upa.user_id')
                        ->join('user_profiles as upb', 'ub.id', '=', 'upb.user_id')
                        ->where('f.parish_id', '=', $parish_id)
                        ->get();

Tu je vygenerovaný SQL... vracia 0 rows :(

select * from `funerals` as `f` inner join `users` as `ua` on `f`.`priest_id` = `ua`.`id` inner join `users` as `ub` on `f`.`organ_player_id` = `ub`.`id` inner join `user_profiles` as `upa` on `ua`.`id` = `upa`.`user_id` inner join `user_profiles` as `upb` on `ub`.`id` = `upb`.`user_id` where `f`.`arish_id` = 1

Tuší niekto, čo je zle? Data v DB sú dobre
Kajman
Profil
Pro ověření, že nejsou řádky vyfiltrovány nesplněným spojením, můžete zkusit použít left join místo inner joinu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0