開発環境:Laravel5.5 , MySQL5.7
にて実装しています。
トピック(新着情報)のリストページを作成しているのですが、
簡単なことでエラーとなりました。
トピック情報を掲載するのに、
データベース テーブルは2つあります。
topics テーブル
id , title , content , updated_at
topic_images テーブル
id , topic_is(外部キー), img_at , updated_at
です。
このテーブルは、
topics : topic_images = 1 : 多
となります。
Laravel クエリービルダーでこの情報をコントローラで読み込み際に
$topic_datas = DB::table('topics')
->join('topic_images', 'topics.id', '=', 'topic_images.topic_id')
->select('topics.id', 'topics.title', 'topics.content', 'topic_imags.img_at')
->groupBy('topics.id')
->get()
と実装しますと、当然かもしれませんが img_at が複数あるために どれが選択して良いか不明となるためエラーになってしまいます。
SELECT list is not in GROUP BY clause and contains nonaggregated column ‘(フィールド名)’ which is not functionally dependent on columns in GROUP BY clause
img_at の選択は、topic_images.id の 1番若い番号を選出する様にしたいのですが、
どのようなクエリー分になるか、わかりますでしょうか?
単純な質問で申し訳ありません。
不足情報は記述しますので、どなたかアドバイスをお願いしたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/17 03:04
2021/02/17 04:08
2021/02/17 04:10
2021/02/17 04:39
2021/02/17 04:49
2021/02/17 04:55
2021/02/17 05:08 編集
2021/02/17 05:21
2021/02/17 05:23
2021/02/17 05:26
2021/02/17 05:33