假设我有以下数据库模式:
理论上,我可以用两个分开的列
在 Walk.php 中,应该如何定义关系?
dogs
和owners
之间使用经典的belongsToMany
进行连接。那么walks
表怎么办?我希望能够在这种关系中使用Eloquent好处:
$dogs = Dog::with('walks')->get();
$walks = Walk::with('dogs')->get();
理论上,我可以用两个分开的列
dog_id
和 owner_id
替换掉 dog_owner_id
。这样使用 Eloquent 会更容易,但我会失去一些数据完整性,因为不相关的 Dog 和 Owner 可能会一起散步(这对它们都不安全!)。在 Walk.php 中,应该如何定义关系?
public function dog() {
// return ???;
}
那么 Dog.php 和 Owner.php 怎么样?
public function walks() {
// return ???;
}