You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Oracle database, the Eloquent relationship named 'examGroup' in the ExamType model is not working as expected. The relationship works correctly with MySQL and MariaDB, but fails with Oracle. The issue appears to be related to case sensitivity in relationship naming.
How to reproduce the bug
Create an ExamType model with a relationship named 'examGroup'
Try to access the relationship using ExamType::with('examGroup')->get()
Notes:
The issue seems to be specific to Oracle's case-sensitive handling of column names and relationships. While MySQL and MariaDB handle the camelCase relationship name correctly, Oracle requires exact case matching with the database column names.
Additional Context:
This appears to be related to how Oracle handles identifier case-sensitivity differently from MySQL/MariaDB. The relationship name 'examGroup' doesn't properly map to the 'exam_group_id' column in Oracle's case-sensitive environment.
Error Message
Error Code : 904 Error Message : ORA-00904: "EXAM_GROUP"."ACADEMIC_YEAR": invalid identifier Help: https://docs.oracle.com/error-help/db/ora-00904/ Position : 302 Statement : select count(*) as aggregate from "EXAM_TYPES" left join "EXAM_GROUPS" examgroup on "EXAM_TYPES"."EXAM_GROUP_ID" = "EXAMGROUP"."ID" left join "USERS" user_creator on "EXAM_TYPES"."CREATED_BY" = "USER_CREATOR"."ID" left join "USERS" user_updater on "EXAM_TYPES"."UPDATED_BY" = "USER_UPDATER"."ID" where "EXAM_GROUP"."ACADEMIC_YEAR" = :p0 Bindings : [2081]
The text was updated successfully, but these errors were encountered:
I do note that OracleDB isn't natively supported by Eloquent etc still, which may explain the disparity in the naming convention.
Is it just the relationship naming that is behaving oddly? Is everything else working?
I'll try to spin up an Oracle example once I know more.
To help me replicate, can you let me know which packages (if any) you are using to implement OracleDB on your models?
What happened?
When using Oracle database, the Eloquent relationship named 'examGroup' in the ExamType model is not working as expected. The relationship works correctly with MySQL and MariaDB, but fails with Oracle. The issue appears to be related to case sensitivity in relationship naming.
How to reproduce the bug
Package Version
3.5.10
PHP Version
8.3.x
Laravel Version
10.48.25
Alpine Version
3.14.8
Theme
Bootstrap 5.x
Notes
Code example:
Database Versions:
Notes:
The issue seems to be specific to Oracle's case-sensitive handling of column names and relationships. While MySQL and MariaDB handle the camelCase relationship name correctly, Oracle requires exact case matching with the database column names.
Additional Context:
This appears to be related to how Oracle handles identifier case-sensitivity differently from MySQL/MariaDB. The relationship name 'examGroup' doesn't properly map to the 'exam_group_id' column in Oracle's case-sensitive environment.
Error Message
Error Code : 904 Error Message : ORA-00904: "EXAM_GROUP"."ACADEMIC_YEAR": invalid identifier Help: https://docs.oracle.com/error-help/db/ora-00904/ Position : 302 Statement : select count(*) as aggregate from "EXAM_TYPES" left join "EXAM_GROUPS" examgroup on "EXAM_TYPES"."EXAM_GROUP_ID" = "EXAMGROUP"."ID" left join "USERS" user_creator on "EXAM_TYPES"."CREATED_BY" = "USER_CREATOR"."ID" left join "USERS" user_updater on "EXAM_TYPES"."UPDATED_BY" = "USER_UPDATER"."ID" where "EXAM_GROUP"."ACADEMIC_YEAR" = :p0 Bindings : [2081]
The text was updated successfully, but these errors were encountered: