IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
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
Tvůrce
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.