【发布时间】:2016-04-09 23:46:24
【问题描述】:
我有一个名为 User 的集合,我还有一个数组,其中包含与 User 模型相关的两个模型 Post。
User 集合包含一个主键 id,而我的 Post 集合中的每个模型都有一个外键 user_id。
我目前正在执行以下操作:
foreach ($users as $user) {
foreach ($posts as $post) {
if ($post->user_id == $user->id) {
$user->posts->push($post);
}
}
}
这有点工作,但不完全是因为它会拉入所有相关帖子,而不是用户最近发布的两个帖子。
数组如下所示:
我的User 架构看起来像;与 Post 有 hasMany 关系:
【问题讨论】:
-
您是否只是想将 N
$posts与$user关联? -
为什么要手动插入一些?你应该很可能使用 Laravel 关系并做类似
$users = Users::with('Posts')->all()的事情 -
@ash,没错。
-
@Jeremy Harris,正如我在问题中提到的那样,我只想要每个用户的两个最新帖子,我无法弄清楚如何以雄辩的方式做到这一点,所以不得不运行手动查询该数据。
-
以下解决方案仅在您检索一位用户时才有效。对于集合,它们不会起作用,因为它不像添加限制或获取那么简单。它更复杂,我建议阅读这个答案:stackoverflow.com/questions/26247467/…
标签: php arrays laravel laravel-5