tp5 hasOne belongsTo

tp5 hasOne belongsTotp5 hasOne belongsTotp5 hasOne belongsTo

 

在某一个class里面,class_name所对应的表为主表(父)

关系函数方法里面的第一个参数所对应的表为从属表(子)

即为与主表相关联的表。

$has~

1、外键保存在关联表中;  
2、保存时自动更新关联表的记录;  
3、删除主表记录时自动删除关联记录。

 

$belongsTo

1、外键放置在主表中;  
2、保存时不会自动更新关联表的记录;  
3、删除时也不会更新关联表的记录。

如下:img_id存在banner_item表中即banner_item为主表,在BannerItem模型中不能使用hasOne,需要使用belongsTo才可。否则会报错:SQLSTATE[42S22]: Column not found: 1054 Unknown column 'img_id' in 'where clause',因为产生的sql查询语句是:SELECT * FROM `image` WHERE `img_id` IN (1,2,3,5);而image表中没有img_id,所以语句字段不对。

 

tp5 hasOne belongsTo

tp5 hasOne belongsTo