Diskuze: Joiny v Nette
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus to se dvěma cizíma klíčema takto:
public function getPage($url)
{
$page = $this->database->table(self::TABLE_NAME)->where(self::COLUMN_URL, $url)->fetch();
return $page->related('comment');
}
{foreach $pages as $page}
{$page->article->content|noescape}
{$page->content}
{$page->user->username}
{/foreach}
github.com/langriklol/cms - ArticleManager nebo Presenter. Tak to tam
zhruba je ten cizí klíč
jsem zkoušel dát další jako user_id na tabulku user na user_id a stejně to
házelo inreferenci. Zkusím zítra a dám vědět.
Prečo to riešiť cez Join ? Nie som si istý či ti rozumiem ale v tabuľke
comments máš user_id na ktorom máš cudzí kľúč a potrebuješ meno toho
usera ? Ak áno v tom prípade
https://doc.nette.org/…ase-explorer#…
Jasně, takže tohle si potom hodím na $comments
?
Vytiahni si cez select všetky comments ktoré potrebuješ. A potom v latte použiješ $comments->ref(,)->username
Zo staršieho projektu:
{if $data->sender_id == NULL}
<a href="">Systém</a>
{else}
<a n:href="User:profile, $data->ref('users', 'sender_id')->id">{$data->ref('users', 'sender_id')->username}</a>
{/if}
Díky, pomohlo Holt to s
tím Nette bude asi na dýl, než jsem čekal no
Ahoj, také začínám a mám stejný problém, už si s tím lámu hlavu několik hodin a netuším co dělám špatně.
mysql funguje:
SELECT news.*, SUM(evaluation.inch_up) AS inch_up , SUM(evaluation.inch_down) AS inch_down FROM news LEFT JOIN evaluation ON news.id = evaluation.news_id GROUP BY news.id
v nette nejde:
$back = $this->database->table('news')
->select('news.*, SUM(evaluation.inch_up) AS inch_up , SUM(evaluation.inch_down) AS inch_down')
->joinWhere('evaluation','evaluation.news_id = news.id')
->group('news.id');
Column not found: 1054 Unknown column 'evaluation.inch_up' in 'field list'
co dělám za blbost ?
Dík
Težko říct, nech si to vypsat jako SQL do Tracy, tam nejspíš půjde vidět kde je chyba.
dvojtečky také nepomohly. v tracy mi ukazuje příkaz
SELECT `news`.*, SUM(:`evaluation`.`inch_up`) AS `inch_up` , SUM(:`evaluation`.`inch_down`) AS
`inch_down`
FROM `news`
GROUP BY `news`.`id`
chybí JOIN, vůbec nevím proč
máš v tabulce evaluation klíč na tabulku news ? pokud ne dvojtečky nepomůžou. V nette jsem několikrát tyhle věci taky řešil, nakonec jsem se na to vykašlal a napsal SQL dotaz.
Zobrazeno 14 zpráv z 14.