【发布时间】:2015-01-06 14:12:54
【问题描述】:
在 laravel 中,当表 A 中的单个条目(例如用户)与表 B 中的许多条目(例如付款方式)相关联时,我们定义一个 "has many" relationship.
所以,我们在 User.php 模型中设置:
return $this->hasMany('PaymentMethods', 'foreign_key', 'local_key');
外键是有意义的,例如可能是userid,因为支付方式表 B 中的每个条目只有 1 个用户。但是,为什么这里可以设置本地密钥呢?当用户表与多种付款方式相关联时,它怎么可能有一个“付款方式”id 键,因此不能设置为单个付款方式 id?
同样,要完成关系,我必须在 PaymentMethod.php 模型中定义一个 belongsTo:
return $this->belongsTo('User');
这里应该只设置第二个参数,即本地密钥(例如userid)吗?
【问题讨论】:
标签: php laravel eloquent relationship