tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

Lean Mapper – getReferencingRow

před 5 lety

MartyIX
Člen | 219

Ahoj,

mam tabulky: user, account, account_user (ktera rika, jaci uzivatele patri k jakym uctum; sloupce: user_id, account_id a dalsi sloupce vyjadrujici prava: full_access, history_access, …)

Jak se z entity User dostanu ke konkretnimu radku tabulky account_user? Tj. ve funkci isPermitted (nize) mam user_id a account_id a rad bych ziskal spravny zaznam.

/**
 * @property int $id
 * @property string $email
 * @property Account $selectedAccount m:hasOne(selectedaccount_id:account)
 */
class User extends \LeanMapper\Entity
{

        public function isPermitted($permission)
        {
                $account = $this->selectedAccount;

                // Naivni a pomale reseni...
                $rows = $this->row->referencing('account_user', "user_id");

                $permissionRow = null;

                foreach ($rows as $row) {
                        if ($row->account_id == $account->id) {
                                $permissionRow = $row;
                        }
                }

                if ($permissionRow === null) {
                        throw new \Exception("Row was not found!");
                }

                $isPermitted = $permissionRow->__get($permission) > 0;
                return $isPermitted;
        }

}

Diky!

před 5 lety

David Grudl
Nette Core | 6806

Prosím, nedělejme tu Lean Mapper fórum…

před 5 lety

Tharos
Člen | 1042

Ahoj, omlouvám se za trochu zpožděnou reakci, mám teď trochu méně prostoru…

Protože už to tady nechci moc SPAMovat, chci nabídnout support na Skype v.kohout nebo na Jabberu tharos@jabber.cz. Do té doby, než bude mít Lean Mapper své vlastní fórum.

Díky!