Maison > Questions et réponses > le corps du texte
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粉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);