问答 / 223 / 10 / 创建于 1年前
模型A hasOne 模型B,那么B应该 hasOne A 还是 belongsTo A更合理?
A hasOne(有一个) B. B那就应该belongsTo(属于) A
只能是 belongsTo。你试试 hasOne,代码会报错。
你应该是写反了,这里hasOne和belongsTo都能实现,我只是想问一下大家哪个更合理
@勇敢的心
class A { public function b() { return $this->hasOne(B::class); } } class B { public function a() { return $this->belongsTo(A::class); } }
class A { public function b() { return $this->hasOne(B::class); } } class B { public function a() { return $this->haOne(A::class); // 上面这行代码,在运行的时候会报错,所以可以回答你的问题:模型 A hasOne 模型 B,那么 B 只能 belongsTo A,而不能是 B haOne A } }
@勇敢的心 像你这样写,相当于是把 b 表的主键 id 当作外键来用。代码是不会出错,但是逻辑上是错的。
看外键在哪里,如果是外键用 belongsTo
看需求,甚至可以 模型 A hasOne 模型 B 的同时 模型 A hasMany 模型 B
我要举报该,理由是:
推荐文章: