tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Metody entity find*($id) pro vyhledávání připojených entit

medhi
Nette Partner | 189
+
0
-

Ahoj,

má smysl používat takovéto metody, které mi vrací konkrétní entitu, přiřazenou k jiné entitě?

// School Entity

public function findTeacher($id)
    {
        $teacher = $this->getValueByPropertyWithRelationship('teachers', new Filtering(function (Fluent $statement) use ($id) {
            $statement->where("id = %i", $id);
        }));
        return $teacher;
    }

Přišlo mi divné dělat to přes repozitář, když tohle je tak elegantní. Používám to například po odeslaném formuláři, kde si potřebuji načíst entitu učitele, abych ji přiřadil k jiné entitě:

$school->manager = $school->findTeacher($values->teacher);
Tharos
Člen | 1039
+
0
-

Mně to přijde úplně OK, sám podobné věci dělám.

Obecně je dělám tam, kde mám malé entity a nemusím si dávat pozor, abych si je příliš nezaplevelil takto specifickými věcmi. U rozsáhlejší entity bych to možná zvážil, a to proto, aby neměla ta entita nakonec v API desítky jednoúčelových metod… Snažil bych se třeba takovou find metodu napsat obecněji, aby se dala použít pro víc vazeb nebo tak nějak.