我没有关注,我如何在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下次知道这样做了吗?
或者,当我访问模型时,是否必须定义该关系? (在这种情况下,我可以在模型中使用allocatese()方法吗?)
如果是这样,那究竟如何运作?
我错过了什么?
谢谢!
答案 0 :(得分:1)
你应该先看看redbeanphp.com上的relations section。 关系由严格的命名约定创建。在你的情况下它会像这样工作:
// 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