由於我切換到PHP 7並且具有聚合值並不適用於我想要使用它的方式,所以Group by有問題。GroupBy在Laravel 5.3和PHP 7中不起作用
我有一個列表,有時在列表中有重複。例如:
歌名歌曲標題B歌曲名稱A(重奏)樂曲標題C
在結果中,歌曲名稱A應該只出現一次。以前,我是通過分組完成的,其中確定歌曲標題的ID被分組。
我的表結構是:
id
group_id
song_title_id
Song_title_id涉及:
id
song_title
在第一個表中,可以有同樣的song_title_id的多個實例。當結果返回時,我只需要在結果中每個song_title_id的一個實例。
之前,我已經做了:
DB::table('group_songs')
->groupBy('song_title_id')
->get();
由於更新到PHP 7,我得到一個錯誤:
Syntax error or access violation: 1055 '[table/column name]' isn't in GROUP BY
我在做什麼錯?
因此,表中的每一單柱將需要納入GROUPBY? – jerauf
我是否需要列出表格中的每一列?同樣的事情可以用不同的方式來完成嗎? – jerauf
您可以只添加一個groupBy和一個select 'DB :: table('group_songs') - > select('song_title_id') - > groupBy('song_title_id') - > get();' 但是如果你需要所有關閉的列,你將需要對它們進行分組或者在未分組的列上添加組功能(如MIN/MAX) – Geding