0

Я не следую, как именно я определяю отношения в RedBean, не на лету.Определения отношений RedBean

У меня есть user, который может иметь родителя user, который считается employer. На противоположной стороне user может иметь employees, которые также являются users.

Как бы я решил определить это?

Я хотел бы интерфейс, чтобы быть что-то в этом роде:

$user = R::load('user', $id); 
var_dump($user->hasEmployees); // show all employees 
var_dump($user->ownEmployer); // show my employer 

Но, похоже, я должен определить их каждый раз, как это:

$user->hasEmployees = R::findAll('user', 'employer_id = ?', array($user->id)); 
$user->ownEmployer = R::load('user', $user->employer_id); 

Какой вид поражений цель создания динамической системы. Поскольку нет реальной модели (или не очень обширной), я предполагаю, что вы создаете отношения один раз и используете их, и RedBean знает, как это сделать в следующий раз?

Или мне нужно определить эти отношения всякий раз, когда я обращаюсь к модели? (Могу ли я использовать метод dispense() в модели в этом случае?)

Если да, то как это работает?

Что мне не хватает?

Спасибо!

ответ

1

Вы должны поговорить о relations section на redbeanphp.com. Отношения создаются строгими соглашениями об именах. В вашем случае это будет работать следующим образом:

// Dispense the beans 
list($employer, $employee1, $employee2) = R::dispense('employee', 3); 

// Create relations 
$employer->ownEmployeeList = array($employee1, $employee2); 

// Demonstrate relations 
var_dump($employer->ownEmployeeList); // returns $employee1 and $employee2 
var_dump($employee1->employee); // returns $employer 
+0

Должен ли я «создавать отношения» при каждом использовании? Или я могу предположить, что $ employer-> ownEmployeeList принесет мне заполненный список, если я получу его в другом месте, и у него есть соответствующие данные в базе данных? – casraf

+0

После того, как ваши таблицы заполнены, $ employer-> ownEmployeeList возвращает массив сотрудников. Вам не нужно воссоздавать отношения. – kekub

Смежные вопросы