Kohana ORM включает записи о детях родителей - PullRequest
0 голосов
/ 18 декабря 2011

Как я могу загрузить дочерние объекты родителя в 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();

Как я могу сделать FirstOrDefault на всех этих питерах, а затем перечислить все поездки этого пользователя?

1 Ответ

1 голос
/ 18 декабря 2011

Примерно так:

$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
    }
}
...