我不是在跟踪,我是如何定义RedBean的关系的,而不是动态的。
我有一个user,它可以有一个被认为是employer的父user。另一方面,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()方法吗?)
如果是的话,这究竟是如何运作的呢?
我遗漏了什么?
谢谢!
发布于 2014-03-26 22:12:44
您应该看看关系科 on 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 $employerhttps://stackoverflow.com/questions/22528829
复制相似问题