何时使用belongsTo()以及何时在laravel中使用一个()?

在laravel中定义模型之间的一对一关系时,我们会说:

类模型1扩展了模型
{
公共职能模式2()
{ 
返回$this->hasOne('App\Model2');
}
}

对于模型2,我们将使用belongsTo('App\Model1')

对于如何决定我们将使用每个函数的哪一端,是否有一个逻辑

两者之间的区别在于外键将驻留在数据库中的位置。belongsTo函数应该属于其表包含外键的模型,而hasOne应该属于由另一个表的外键引用的模型

两者都可以工作,但是您应该为将来可能使用您的系统的其他开发人员保持可靠的编码实践。此外,如果外键级联删除,这一点也变得至关重要。如果删除模型1,是否也应删除属于模型1的模型2

发表评论