Group von ist problematisch, seit ich zu PHP 7 gewechselt habe und Aggregatwerte nicht auf die Art und Weise, wie ich es verwenden möchte.GroupBy in Laravel 5.3 und PHP 7 funktioniert nicht
Ich habe eine Liste und manchmal gibt es Wiederholungen in der Liste. Zum Beispiel:
Song-Titel A Song Titel B Song-Titel A (Reprise) Song Titel C
In den Ergebnissen sollen Song-Titel A zeigt nur einmal auf. Zuvor hatte ich dies mit group by gemacht, wo die ID, die den Songtitel bestimmt, gruppiert wird.
Meine Tabellenstruktur ist:
id
group_id
song_title_id
Song_title_id betrifft:
id
song_title
In der ersten Tabelle, kann es mehrere Instanzen des gleichen song_title_id sein. Und wenn Ergebnisse zurückgegeben werden, möchte ich, dass nur eine Instanz jeder song_title_id in den Ergebnissen angezeigt wird.
Zuvor hatte ich getan habe:
DB::table('group_songs')
->groupBy('song_title_id')
->get();
zu PHP 7 Seit der Aktualisierung ich eine Fehlermeldung erhalten:
Syntax error or access violation: 1055 '[table/column name]' isn't in GROUP BY
Was mache ich falsch?
So müßte jede einzelne Spalte in der Tabelle in groupBy aufgenommen werden? – jerauf
Muss ich jede einzelne Spalte in der Tabelle auflisten? Könnte dasselbe mit distinct gemacht werden? '- (song_title_id') -> groupBy – jerauf
Sie können nur einzelne groupBy und Einzel wählen 'DB :: Tabelle (' group_songs)> wählen 'add (' song_title_id ') -> get();' Wenn Sie jedoch alle Off-Spalten benötigen, müssen Sie sie gruppieren oder Gruppenfunktionen (wie MIN/MAX) für nicht gruppierte Spalten hinzufügen – Geding