NDBTable join vracia iba jeden riadok

Čamo
Člen | 786
+
0
-

Zdravím,

prosím vás prečo mi NDBT join vracia len jeden riadok miesto viacerých?
Mám v modeli repozitár s metódou findBy():

class ArticlesRepository extends Repository
{

	public function findBy( array $by )
	{
		return parent::findBy( $by )->select('
			articles.*,
			:articles_langs.meta_desc,
			:articles_langs.title,
			:articles_langs.slug,
			:articles_langs.perex,
			:articles_langs.content
		');
	}

}

Keď to zavolám

$this->articlesRepository->findBy( ['articles.id' => 100] )->fetchAll();

tak mi to vygeneruje SQL ktoré je správne a keď ho spustím ako čisté SQL vráti správne všetky riadky nie iba jeden:

SELECT
 `articles`.*,
 `articles_langs`.`meta_desc`,
 `articles_langs`.`title`,
 `articles_langs`.`slug`,
 `articles_langs`.`perex`,
 `articles_langs`.`content`
FROM `articles`
LEFT JOIN `articles_langs` ON `articles`.`id` = `articles_langs`.`articles_id`
WHERE (`articles`.`id` = 100)

Ale v aplikácii dostanem vždy iba jeden jediný riadok. Je toto chovanie zámerné, alebo mám ja niekde chybu?

Editoval Čamo (14. 7. 2017 19:11)

David Matějka
Moderator | 6445
+
+1
-

ahoj. toto je ocekavane chovani. NDBT je delane na to, ze vybira data pouze z jedne tabulky. pokud se v sql radek z te hlavni tabulky vyskytuje vicekrat, tak to zgroupuje dle ID.

nemuzes pouzit related()?

Čamo
Člen | 786
+
0
-

Tak díky. Related je trochu mimo môj zámer. Snažil som sa vytvoriť nejaký elegantný model ktorý využije zabudovanú podporu NDBT pre WHERE. Cez NBD query to nejde a treba napísať dosť špecifickú metódu. No a plus problémy s Datagridmi… Takže to vyzerá na Kdyby/Doctrine.

CZechBoY
Člen | 3608
+
0
-

Z jaky tabulky vychazis? S takovou jednoduchou veci bys nemel mit problem u ndbt…

Čamo
Člen | 786
+
0
-

CZechBoy Ako to myslíš problém? Vždy by som musel „entitu“ s reláciami vytvárať nejako ručne…

CZechBoY
Člen | 3608
+
0
-

Ndbt samo o sobe neno orm, ale napr YetORM je.

Čamo
Člen | 786
+
0
-

CZechBoy S YetORM nemám skúsenosť. Má nejaký zmysel použiť YetORM miesto Doctrine?

CZechBoY
Člen | 3608
+
0
-

Zalezi na tobe.. doctrine toho nabizi vic ale zase asi sloziteji.