recherche

Maison  >  Questions et réponses  >  le corps du texte

Code d'erreur : 907 Message d'erreur : ORA-00907 : crochet fermant manquant PHP Laravel (méthode éloquente)

Après avoir récupéré la collection de la requête, je souhaite la trier. Ensuite, le message d'erreur suivant est apparu :

Code d'erreur : 907 Message d'erreur : ORA-00907 : Position du crochet droit manquant : 202 Instruction : SELECT count(*) FROM EXISTS "ATTENDANCE_LISTS" AS AGGREGATE (SELECT * FROM "MEETINGS" WHERE "ATTENDANCE_LISTS"."MEETING_ID " = "MEETINGS "."ID" et "STATUS_MEETING" = :p0 et "START_MEETING" <= :p1 ordre par "START_MEETING" desc) Liaison : [Disetujui,2022-04-19 20:11:24] ( SQL : select count( *) comme agrégat dans les "ATTENDANCE_LISTS" existants (sélectionnez * dans "MEETINGS" où "ATTENDANCE_LISTS"."MEETING_ID" = "MEETINGS"."ID" AND "STATUS_MEETING" = Disetujui AND "START_MEETING" ”<= 2022-04 - 19 20:11:24 Appuyez sur « START_MEETING » pour commander desc))

Le code est le suivant :

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

Je viens de créer la requête en utilisant la méthode éloquente Laravel ci-dessus et j'ai du mal avec cela depuis des jours. S'il vous plaît aidez-moi.

Oui, voici un article apparemment similaire : ORA-00907 : parenthèse fermante manquante

Cependant, le problème que je rencontre n'a rien à voir avec la construction manuelle de la requête au format SQL . J'ai construit la requête en utilisant la méthode éloquente PHP Laravel, donc cela ne peut pas vraiment être un problème de parenthèses manquantes. **

Modifier : Bref, le problème se pose lorsque j'essaie de trier la liste de présence par l'attribut "réunion" (triée par l'attribut de l'attribut). De l'aide?

P粉245489391P粉245489391273 Il y a quelques jours430

répondre à tous(1)je répondrai

  • P粉652523980

    P粉6525239802024-03-30 09:39:10

    C'est la solution.

    La solution est de changer l'endroit où doit se joindre. Le code est le suivant :

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

    répondre
    0
  • Annulerrépondre