2011-12-17 45 views
0

如何在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(); 

我怎么能上都做一个FirstOrDefault那些彼得斯,然后列出该用户的所有游乐设施?

回答

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 
    } 
} 
+0

不好解决,因为在foreach内find_all将导致每次迭代查询。应该使用构建器并使用连接。 – 2015-05-05 20:06:32

相关问题