2
我有了在此函数的方式多形态关系到Likes
模型Post
型号:如何使用Eloquent ORM获取喜欢发贴的用户列表?
public function likes() {
return $this->morphMany('App\Models\Like', 'likeable');
}
回到我Likes
模型:
public function likeable() {
return $this->morphTo();
}
UPDATE
的方法返回如下集合:
[
{
"id":125,
"user_id":30,
"likeable_id":1,
"likeable_type":"App\Models\Post",
"created_at":"2017-10-13 22:06:13",
"updated_at":"2017-10-13 22:06:13"
},
{
"id":126,
"user_id":17,
"likeable_id":1,
"likeable_type":"App\Models\Post",
"created_at":"2017-10-13 22:06:13",
"updated_at":"2017-10-13 22:06:13"
}
]
现在我想创造我Post
模型的另一个功能获取与返回集合中的每个like
对象的user_id
相关联的每个User
,我写这个至今:
public function likeUsers($post) {
$likes = $post->Likes();
foreach ($likes as $like) {
$user = User::find($like->user_id);
$name = $user->first_name;
// Here is where i want to push the $name var into a new collection
}
//return new Collection;
}
怎么办我将我的foreach
中的每个$name
var推入一个新的Eloquent集合并返回它?
正如我所说的,你不应该直接调用likes()方法。相反,你应该阅读'likes'属性,例如$ likes = $ post-> likes ;.尝试一下,让我知道你得到了什么。 –
确定,这给了我与直接调用方法相同的集合...如何帮助我找到解决我更新的问题? –
只有用户喜欢你的帖子吗?或者你有其他可以喜欢帖子的模特吗? –