laravel的ORM中HasOne和BelongsTo每天用,但主键外键顺序不同,has和belongsto也不同,所以一次记录一下,以后按这个来,
规则为(对方表,外键,主键),外键是对方表的关联field,主键是本地表关联的field
比如有goods表和goods_detail两张表
- goods表字段: id title
- goods_detail表字段:id content goods_id
- goods表关联goods_detail表:
参照对方表(goods_detail表),对方拿了我的id做goods_id,对方是归属是belognto,参照本表(goods表),外键=goods_id,主键=id
return $this->belongsTo(GoodsDetail::class, 'goods_id', 'id');
- goods_detail表关联goods表
参照对方表(goods表),对方的id我拿了做goods_id,对方拥有它是has。参照本表(goods_detail表),外键=id,主键=goods_id
return $this->hasOne(Goods::class, 'id', 'goods_id');