2017-09-26 5 views
0

Ich habe eine Tabelle, die durch ID indiziert ist und auch eine Spaltenbeschreibung hat.Laravel 5.5 Eloquent mit mehr als 1 Spalte klar

Ich möchte dies in einem Formular damit eine Funkgruppe bevölkern.

Mein Problem ist, wenn ich versuche,

$colours = Colours::where('manufacturer_id',"=",$man)->select('id','description')->orderBy('description')->groupBy('description')->get(); 

I

SQLSTATE [42000] erhalten: Syntaxfehler oder Zugriffsverletzung: 1055 Expression # 2 von SELECT-Liste ist nicht in GROUP BY-Klausel und enthält die nicht aggregierte Spalte 'cl24-ids.colours.manufacturer_id', die funktional nicht von Spalten in der GROUP BY-Klausel abhängig ist; dies ist unvereinbar mit sql_mode = only_full_group_by (SQL: select description, manufacturer_id aus colours wo manufacturer_id = 1 Gruppe von description)

Irgendwelche Ideen gefallen oder sollte ich nur eine nicht Eloquent Lösung?

Antwort

0
$colours = Colours::where('manufacturer_id',"=",$man) 
        ->select('id','description')->groupBy('description')->get(); 
+0

es macht nur den Schlüssel deutlich (id) und daher gibt es eine Wiederholung der Farben – Jim

+0

versuchen Sie die aktualisierte Antwort –

0

Die deutliche Methode ermöglicht es Ihnen, die Abfrage zu erzwingen unterschiedliche Ergebnisse zurück:

Benutzer $ = DB :: Tabelle ('Benutzer') -> distinct() -> get();

erhalten eindeutige Zeilen

$ Kategorien = Maschinen :: distinct ('category') -> zupfen ('Kategorie', 'antoher');

Verwandte Themen