從查詢中獲得集合後,我想對其進行排序。然後,出現了以下錯誤訊息:
錯誤代碼:907 錯誤訊息:ORA-00907:缺少右括號位置:202 語句:從存在的「ATTENDANCE_LISTS」中選擇count(*) 作為聚合(從「MEETINGS」中選擇*,其中「ATTENDANCE_LISTS」. 「MEETING_ID」 = "MEETINGS"."ID" 和"STATUS_MEETING" = :p0 和"START_MEETING" <= :p1 order by "START_MEETING" desc) 綁定: [Disetujui,2022-04-19 20:11:24 ] (SQL: select count(*) 作為存在的“ATTENDANCE_LISTS”中的聚合(從“MEETINGS”中選擇*,其中“ATTENDANCE_LISTS”.“MEETING_ID”=“MEETINGS”.“ID”和“STATUS_MEETING”= DisetING_ID”=“MEETINGS”.“ID”和“STATUS_MEETING”= Disetujui 和“START_MEETING”<= 2022-04 -19 20:11:24 按“START_MEETING”訂購desc))
程式碼如下:
$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);
我只使用上面的 Laravel eloquent 方法建立了查詢,我已經為此苦苦掙扎了好幾天。請幫助我。
是的,這裡有一個看似相似的貼文: ORA-00907: 缺少右括號
但是,我遇到的問題與使用 SQL 格式手動建立查詢無關。我使用 PHP Laravel eloquent 方法建立了查詢,所以它不可能真的是關於缺少括號的問題。 **
編輯: 簡而言之,當我嘗試按「會議」屬性對出勤清單進行排序(按屬性的屬性排序)時,問題就出現了。有什麼幫助嗎?
這是解決方案。
解決方案是更改 whereHas to join。程式碼如下: