预载入查询构造怎么做?

2015-04-10 15:13:48 +08:00
 lingxueyu
laravel文档对于ORM的预载入内容很少,使用中发现貌似只有预载入条件限制才起作用
$users = User::with(array('posts' => function($query)
{
$query->where('title', 'like', '%first%');

}))->get();
而对于select/lists这些总是返回空
$company = Company::with(array('users' => function($query)
{
$query->select('id');
}))->select('id', 'type', 'logo', 'name', 'profile', 'city', 'email', 'phone', 'website', 'weibo', 'tags')->find($id);

返回的$company的json一直是
{
"status": "success",
"data": {
"id": 1,
"type": 0,
"logo": "1428470471LLnfH.jpg",
"name": "123",
"profile": "",
"city": "",
"email": "comapny@company.com",
"phone": "123456",
"website": "",
"weibo": "",
"tags": "",
"user_count": 3,
"thumb_logo": "http://120.25.210.83/upload/companies/thumb/1428470471LLnfH.jpg",
"users": []
}
}
users总是为空,但是换成$query->where才能返回数据
要怎么使select也在预载入起作用?
以及如果users数组里面还包含了tweets数组,怎么做tweets的预载入?
3206 次点击
所在节点    PHP
1 条回复
qljiang
2016-01-26 21:52:26 +08:00
请问第一个问题你现在解决了吗?是怎么解决的呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/182832

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX