Možnosť nastaviť default where pre ref k activeRow

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ricco24
Člen | 141
+
0
-

Je možné nejakým spôsobom nastaviť where podmienku pre referenčné volanie $row->table?
Teda napríklad:

// defaultné volanie
if ($book->author) {
	// kniha má autora
}

// Ja by som však potreboval zavolať niečo ako:
$book->ref('author', array('deleted' => 0));

Teda aby mi vrátilo referenčný objekt len v prípade ak má stĺpec deleted nastavený na 0 (nieje zmazaný).

Editoval ricco24 (7. 10. 2014 13:29)

MartinitCZ
Člen | 580
+
0
-

Vzhledem k tomu, že ref() je relace Has one, tak by mělo jít toto:

if ($book->author && $book->author->deleted === 0) {
    // kniha má autora
}

Editoval MartinitCZ (7. 10. 2014 14:03)

ricco24
Člen | 141
+
0
-

Tých stĺpcov ale môže byť aj viac, napríklad starttime, endtime atď. Najlepšie by bolo ak by sa dal takýto where nastaviť defaultne pre relačné volania aby som to nemusel replikovať na každom mieste kde to používam.

MartinitCZ
Člen | 580
+
0
-

Ale to, že je těch sloupců víc na to přece nemá vůbec vliv.