Heim  >  Fragen und Antworten  >  Hauptteil

Fehlercode: 907 Fehlermeldung: ORA-00907: fehlende schließende Klammer PHP Laravel (Eloquent-Methode)

Nachdem ich die Sammlung aus der Abfrage erhalten habe, möchte ich sie sortieren. Dann erschien die folgende Fehlermeldung:

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

Der Code lautet wie folgt:

$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

Allerdings

das 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粉245489391P粉245489391224 Tage vor383

Antworte allen(1)Ich werde antworten

  • P粉652523980

    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);

    Antwort
    0
  • StornierenAntwort