【发布时间】:2017-06-11 19:44:01
【问题描述】:
这是我目前的查询:
$messages = Message::select('messages.*')
->where('post_id', 1)
->where('parent_id', 0)
->with(['children' => function ($query)
{
$query->take(3);
}])
->paginate(10);
这是我的Message.php 类中的children 关系:
public function children() {
return $this->hasMany('App\Message', 'parent_id', 'id');
}
这是我想要得到的输出:
- Message 1
- Message 1.1
- Message 1.2
- Message 1.3
- Message 2
- Message 2.1
- Message 2.2
- Message 2.3
- Message 3
- Message 3.1
- Message 3.2
- Message 3.3
- etc
但是,它返回的是这个:
- Message 1
- Message 1.1
- Message 1.2
- Message 1.3
- Message 2
- Message 3
- etc
查询似乎只返回第一个结果的孩子,但之后没有其他结果。
我做错了什么?如何修复我的查询以获得我需要的结果?
【问题讨论】:
-
看看这篇文章 - softonsofa.com/…
-
我计划将来获取孩子们的孩子们的消息,据我所知,该教程并未涵盖这种情况。
-
如果该信息包含在问题中会很有帮助。
标签: php laravel eloquent laravel-5.3