Ich bin neu in Laravel und ich möchte MySQL-Abfrage in Laravel 5.4 schreiben. Abfrage ist wie:Wie schreibe ich mysql Abfrage in Laravel 5.4?
Anmerkung: Spaltennamen vermeiden ..
SELECT *
FROM (SELECT DISTINCT *
FROM messages
WHERE (from_id=1 OR to_id=1)
ORDER BY created DESC) as m
GROUP BY `from_id`
Ich habe versucht, aber gibt Fehler.
$messages = DB::table('messagetbl')
->select('*')
->Where(function($query) use ($userid){
$query->distinct()
->where('senderid',$userid)
->orWhere('receiverid',$userid)
->orderBy('datetime','desc');
})
->groupBy('senderid')
->get();
Fehler:
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db.messagetbl.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by (SQL: select * from
messagetbl
where (senderid
= 8 orreceiverid
= 8) group bysenderid
)
Vielen Dank im Voraus.
den vollständigen Stack-Trace des Fehlers hinzufügen und deutlicher das Problem erklären. Siehe [Wie stelle ich eine gute Frage?] (Http://stackoverflow.com/help/how-to-ask), um Ihre Frage zu aktualisieren. –