Kohana ORM包括父母的儿童记录

时间:2011-12-17 23:38:35

标签: php kohana kohana-orm

如何在kohana ORM中加载父项的子实体?

型号:

class Model_User extends ORM
{   
    protected $_primary_key = 'UserId';

    protected $_has_many = array(
        'rides' => array(
            'model' => 'ride',
            'foreign_key'=> 'RideId'
        )
    );
}

class Model_Ride extends ORM
{   
    protected $_primary_key = 'RideId';     

    protected $_belongs_to = array(
        'user' => array(
            'model'       => 'user',
            'foreign_key' => 'UserId',
    ),
    );   
}

如何编写查询以获取用户及其所有Ride

这是我到目前为止所做的:

$members = ORM::factory('user');

$members->where('FirstName', '=', 'Peter')->find_all();

如何对所有那些peters进行FirstOrDefault,然后列出该用户的所有游乐设施?

1 个答案:

答案 0 :(得分:1)

这样的事情:

$members = ORM::factory('user');
$members_list = $members->where('FirstName', '=', 'Peter')->find_all();

foreach($members_list as $member) {
    $rides = $member->rides->find_all();
    foreach($rides as $ride) {
        // Work with ride model
    }
}