【发布时间】:2014-11-06 01:17:54
【问题描述】:
在我的一个控制器中,我有以下内容:
return Lot::with(array('region', 'territory', 'manager')) -> get();
这很完美,并返回以下内容:
Array
(
[0] => stdClass Object
(
[id] => 1
[region_id] => 3
[territory_id] => 2
[state_id] => 5
[manager_id] => 2
[lot_num] => 0
[lot_type] => managed
[name] => Some Name
[address_1] => Some Address
[address_2] =>
[address_3] =>
[city] => Some City
[zip] => 00000
[opened_at] =>
[deleted_at] =>
[created_at] => 2014-11-06 00:49:39
[updated_at] => 2014-11-06 00:49:39
[region] => stdClass Object
(
[id] => 3
[name] => Corporate
[deleted_at] =>
[created_at] => 2014-11-06 00:49:39
[updated_at] => 2014-11-06 00:49:39
)
[territory] => stdClass Object
(
[id] => 2
[name] => Corporate
[deleted_at] =>
[created_at] => 2014-11-06 00:49:39
[updated_at] => 2014-11-06 00:49:39
)
[manager] => stdClass Object
(
[id] => 2
[email] => test@tester.com
[active] => 1
[last_login] =>
[created_at] => 2014-11-06 00:49:39
[updated_at] =>
[deleted_at] =>
)
)
)
我在Lot类中的'manager'方法有如下关系:
return $this -> belongsTo('User');
我的 User 类上面有以下方法:
public function profile(){
return $this -> hasOne('Profile');
}
现在,终于要问我的问题了:) 是否可以通过我在第一个代码片段中对 Lot 类执行的预加载来预加载该用户的配置文件?我想要完成的是让我的“经理”对象在返回中看起来像这样:
[manager] => stdClass Object
(
[id] => 2
[email] => test@tester.com
[active] => 1
[last_login] =>
[created_at] => 2014-11-06 00:49:39
[updated_at] =>
[deleted_at] =>
[profile] => stdClass Object
(
[id] => 5
[first_name] => Test
[last_name] => Tester
...
)
)
【问题讨论】:
标签: laravel model eager-loading