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 ;.嘗試一下,讓我知道你得到了什麼。 –
確定,這給了我與直接調用方法相同的集合...如何幫助我找到解決我更新的問題? –
只有用戶喜歡你的帖子嗎?或者你有其他可以喜歡帖子的模特嗎? –