2
我有一個Post
模型和Like
模型。加載所有帖子,並檢查帖子是否喜歡laravel
當我去用戶頁面時,我可以看到他喜歡的所有帖子。現在,如果已登錄的用戶訪問用戶頁面時已經有用戶發佈帖子,我想指出一個小圖標。
這是我的選擇用戶的喜歡的職位(不登錄的用戶,但業主的個人資料):
$likesPost = Post::with('user')->join('likes', function ($join) use ($user) {
$join->on('likes.likeable_id', '=', 'id')->where('likes.user_id', '=', $user->id)->where('likes.likeable_type','=', Post::class);
})->get();
現在我也想檢查驗證的用戶已經喜歡這個職位還是不以及這個查詢。我嘗試了很多東西,但我不知道我該如何解決這個問題。我正在使用多態關係。
'$ user-> posts()'這隻會收集用戶創建的帖子。對?我想在所有帖子中查看它。 – user1012181
@ user1012181是的,這是正確的。重新閱讀你的問題,這是有道理的。所以,你可以把'$ user-> posts() - >'改成'Post ::'。 (同樣的'$ authUser-> posts() - >') – patricus
謝謝。它有幫助。但是'$ authLikedPosts-> has($ post-> id)'應該是 '$ authLikedPosts-> contains('id',$ post-> id)' – user1012181