質問編集履歴

5

全文へ変更

2022/04/15 15:46

投稿

Sado
Sado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,7 @@
14
14
  よろしくお願いいたします。
15
15
 
16
16
  ```PHP
17
+   // $userはcontrollerから呼び出す引数です。
17
18
  // ログインユーザーがいいねしている投稿データを取得
18
19
  public function getLikedPost($user)
19
20
  {
@@ -25,11 +26,9 @@
25
26
 
26
27
  $liked_posts = $new_post->newQuery()
27
28
  ->leftJoin('likes', function ($query) use ($user) {
28
-
29
29
  // いいねされた状態のものを結合
30
30
  // 結合前の結合条件を指定
31
31
  $query->on('posts.id', '=', 'likes.post_id');
32
-
33
32
  // 結合後の条件でデータ絞り込み
34
33
  // (ログインしているユーザのいいね)
35
34
  $query->where('likes.user_id', $user->id);
@@ -38,9 +37,18 @@
38
37
  $join->on('posts.id', '=', 'count_like.post_id');
39
38
  })
40
39
  ->selectRaw('posts.*, IFNULL(count_like.`count`, 0) as `count`, posts.id = IFNULL(likes.post_id, 0) as is_liked')
41
-     ->where('posts.is_liked', '=', '1')
40
+ ->where('posts.is_liked', '=', '1')
42
41
  ->orderBy('created_at', 'desc')
43
42
  ->paginate(3);
43
+ // ->get();
44
+
45
+ // リレーション
46
+ $liked_posts->load('user');
47
+
48
+ // 投稿に紐づくコメント数を取得
49
+ $liked_posts->each(function ($post) {
50
+ $post->comment_count = $post->comments()->count();
51
+ });
44
52
 
45
53
  return $liked_posts;
46
54
  }

4

文字微修正

2022/04/15 12:39

投稿

Sado
Sado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
  > ->where('posts.is_liked', '=', '1')
5
5
  部分で下記エラーが表示されてしまいます。
6
6
 
7
- 元のテーブルに無いカラムで、一時的に追加しているカラムwhereでの絞り込みってできないのでしょうか?
7
+ 元のテーブルに無いカラムで、一時的に追加しているカラムwhereでの絞り込みってできないのでしょうか?
8
8
  少々この場合の別の絞り込み法がわからず教えて頂きたいです、、、
9
9
 
10
10
  試したこととしては、他のメソッド内で同じようなことをしていて

3

エラーの場所の記載間違い修正

2022/04/15 12:37

投稿

Sado
Sado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
  $join->on('posts.id', '=', 'count_like.post_id');
39
39
  })
40
40
  ->selectRaw('posts.*, IFNULL(count_like.`count`, 0) as `count`, posts.id = IFNULL(likes.post_id, 0) as is_liked')
41
-     ->where('posts.user_id', '=', $user->id)
41
+     ->where('posts.is_liked', '=', '1')
42
42
  ->orderBy('created_at', 'desc')
43
43
  ->paginate(3);
44
44
 

2

追加漏れ

2022/04/15 12:32

投稿

Sado
Sado

スコア0

test CHANGED
File without changes
test CHANGED
@@ -38,6 +38,7 @@
38
38
  $join->on('posts.id', '=', 'count_like.post_id');
39
39
  })
40
40
  ->selectRaw('posts.*, IFNULL(count_like.`count`, 0) as `count`, posts.id = IFNULL(likes.post_id, 0) as is_liked')
41
+     ->where('posts.user_id', '=', $user->id)
41
42
  ->orderBy('created_at', 'desc')
42
43
  ->paginate(3);
43
44
 

1

タイトル修正

2022/04/15 12:29

投稿

Sado
Sado

スコア0

test CHANGED
@@ -1 +1 @@
1
- Laravelで自分がいいねした投稿だけ取得したい
1
+ Column not found (いいねした投稿だけ取得したい)
test CHANGED
File without changes