Heim > Fragen und Antworten > Hauptteil
Nachdem ich die Sammlung aus der Abfrage erhalten habe, möchte ich sie sortieren. Dann erschien die folgende Fehlermeldung:
Der Code lautet wie folgt:Fehlercode: 907 Fehlermeldung: ORA-00907: Fehlende rechte Klammerposition: 202 Anweisung: SELECT count(*) FROM EXISTS "ATTENDANCE_LISTS" AS AGGREGATE (SELECT * FROM "MEETINGS" WHERE "ATTENDANCE_LISTS"."MEETING_ID ” = "MEETINGS „.“ID“ und „STATUS_MEETING“ = :p0 und „START_MEETING“ <= :p1 Reihenfolge nach „START_MEETING“ desc) Bindung: [Disetujui,2022-04-19 20:11:24] ( SQL: select count( *) als Aggregat in vorhandenen „ATTENDANCE_LISTS“ (wählen Sie * aus „MEETINGS“, wobei „ATTENDANCE_LISTS“. „MEETING_ID“ = „MEETINGS“. „ID“ UND „STATUS_MEETING“ = Disetujui AND „START_MEETING“ ”<= 2022-04 - 19 20:11:24 Drücken Sie „START_MEETING“, um Beschreibung zu bestellen
$meetings2 = AttendanceLists::whereHas('meeting', function ($query) { $now = new DateTime("now"); $query->where('status_meeting', '=', 'Disetujui') ->where('start_meeting', '<=', $now) ->orderBy('start_meeting', 'desc') ; })->paginate(5);Ich habe gerade die Abfrage mit der oben genannten Laravel-Eloquent-Methode erstellt und kämpfe seit Tagen damit. Bitte hilf mir.
Ja, hier ist ein scheinbar ähnlicher Beitrag: ORA-00907: schließende Klammer fehlt
Allerdingsdas Problem, das ich habe, hat nichts mit der manuellen Erstellung der Abfrage im SQL-Format zu tun . Ich habe die Abfrage mit der PHP-Laravel-Eloquent-Methode erstellt, daher kann es nicht wirklich ein Problem mit fehlenden Klammern sein. **
Bearbeiten: Kurz gesagt, das Problem tritt auf, wenn ich versuche, die Anwesenheitsliste nach dem Attribut „Besprechung“ zu sortieren (sortiert nach dem Attribut des Attributs). Irgendeine Hilfe?P粉6525239802024-03-30 09:39:10
这是解决方案。
解决方案是更改 whereHas to join。代码如下:
$meetings = AttendanceLists::join('meetings', 'meetings.id', '=', 'attendance_lists.meeting_id') ->where('attendance_lists.user_id', '=', $id_user) ->where('meetings.status_meeting', '=', 'Disetujui') ->where('meetings.start_meeting', '<', $now) ->orderBy('meetings.start_meeting', 'desc') ->paginate(5);