RedBean关系定义

时间:2014-03-20 09:39:45

标签: php orm relational-database foreign-key-relationship 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下次知道这样做了吗?

或者,当我访问模型时,是否必须定义该关系? (在这种情况下,我可以在模型中使用allocatese()方法吗?)

如果是这样,那究竟如何运作?

我错过了什么?

谢谢!

1 个答案:

答案 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