CakePHP 数据库命名约定
CakePHP Database Naming Convention
我已经阅读了 CAKEPHP 公约。
所以我从错误的约定改为正确的。
但是我仍然不确定我是否正确命名了我的 ID,因为现在我的模型仍然需要使用“$primaryKey”来覆盖删除方法。
Model: EventDate
Controller: EventDatesController
Database Table: event_dates
event_dates ID : event_date_id
其次,在我更改table col_id名称后,我的编辑方法查询主键的Where子句仍然是旧的主键名称。尝试删除缓存还是不行
SQL Query: SELECT `EventDate`.`event_date_id`, `EventDate`.`event_date`, `EventDate`.`Created`, `EventDate`.`modified` FROM `fyp_seatmanagment`.`event_dates` AS `EventDate` WHERE `EventDate`.`eventdate_id` = '65' LIMIT 1
据我所知,主键的命名约定只是 id
。所以你的 event_dates ID 只是 id
而不是 event_date_id
.
第二部分:
您将您的 ID 命名为 event_date_id
,但在您的 where 子句中寻找 eventdate_id
。所以你在那里忘记了 _
。如果您将主键更改为 id
(见上文),请不要忘记修改您的语句。
Cake 的命名约定使用 id
作为主键。对于外键,使用 _id
前缀为单数 snake cased 相关 table 名称。
因此对于您的 EventDate
模型,您的主键需要是 id
。
作为外键的示例,如果 EventData
属于 Event
模型,则外键将为 event_id
.
在您的示例中,您混淆了主键和外键,即使您尝试覆盖默认值,这也会给您带来各种麻烦。
您可以在文档中阅读更多关于 Cake's naming conventions 的内容。
我已经阅读了 CAKEPHP 公约。 所以我从错误的约定改为正确的。
但是我仍然不确定我是否正确命名了我的 ID,因为现在我的模型仍然需要使用“$primaryKey”来覆盖删除方法。
Model: EventDate
Controller: EventDatesController
Database Table: event_dates
event_dates ID : event_date_id
其次,在我更改table col_id名称后,我的编辑方法查询主键的Where子句仍然是旧的主键名称。尝试删除缓存还是不行
SQL Query: SELECT `EventDate`.`event_date_id`, `EventDate`.`event_date`, `EventDate`.`Created`, `EventDate`.`modified` FROM `fyp_seatmanagment`.`event_dates` AS `EventDate` WHERE `EventDate`.`eventdate_id` = '65' LIMIT 1
据我所知,主键的命名约定只是 id
。所以你的 event_dates ID 只是 id
而不是 event_date_id
.
第二部分:
您将您的 ID 命名为 event_date_id
,但在您的 where 子句中寻找 eventdate_id
。所以你在那里忘记了 _
。如果您将主键更改为 id
(见上文),请不要忘记修改您的语句。
Cake 的命名约定使用 id
作为主键。对于外键,使用 _id
前缀为单数 snake cased 相关 table 名称。
因此对于您的 EventDate
模型,您的主键需要是 id
。
作为外键的示例,如果 EventData
属于 Event
模型,则外键将为 event_id
.
在您的示例中,您混淆了主键和外键,即使您尝试覆盖默认值,这也会给您带来各种麻烦。
您可以在文档中阅读更多关于 Cake's naming conventions 的内容。