Java týden Java týden
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě
Avatar
Filip Němec
Člen
Avatar
Filip Němec:20.7.2018 15:32

Ahoj :-) Potřeboval bych tento SQL dotaz převést do nette.

SELECT answers.post, users.username FROM answers INNER JOIN users ON answers.author = users.id;

Používám DatabaseExplorer. Zkoušel jsem to různě kombinovat. Jednak teda nevím, jak by to mělo správně vypadat a za druhé mi to vyhazuje, že answers nemá referenci na users. Co jsem tak hledal, tak je potřeba vytvořit referenci a FOREIGN KEY, ale vůbec jsem nepochopil která tabulka má mít referenci na kterou a k jakému sloupci přidat ten FK. Byl by tu, prosím, někdo ochotný natolik, aby mi to nějak vysvětlil a ukázal řešení? Moc děkuji předem :-)

 
Odpovědět 20.7.2018 15:32
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Filip Němec
Petr Čech:20.7.2018 16:13

Musíš si nastudovat, jak v databázi fungují cizí klíče a celé se ti to vyjasní :)
https://www.w3schools.com/…reignkey.asp

Nahoru Odpovědět 20.7.2018 16:13
the cake is a lie
Avatar
Filip Němec
Člen
Avatar
Odpovídá na Petr Čech
Filip Němec:20.7.2018 16:58

Tak jsem přidal klíč:

ALTER TABLE answers
ADD FOREIGN KEY (author) REFERENCES users(id);

A dotaz ve třídě:

...->where('answers.author = users.id');

A stále mi to píše:

No reference found for $answers->users.

 
Nahoru Odpovědět 20.7.2018 16:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.