Php Laravel/雄辩的';s有很多关系是否有本地密钥?

Php Laravel/雄辩的';s有很多关系是否有本地密钥?,php,laravel,eloquent,relationship,Php,Laravel,Eloquent,Relationship,在laravel中,当表a中的单个条目(例如用户)与表B中的多个条目(例如付款方式)关联时,我们定义了 因此,在User.php模型中,我们设置: return $this->hasMany('PaymentMethods', 'foreign_key', 'local_key'); 外键是有意义的,例如,它可以是userid,因为付款方式表B中的每个条目只有一个用户。但是,为什么可以在这里设置本地密钥?当用户表与许多付款方式关联,因此不能设置为单个付款方式id时,它怎么可能有“付款方式

在laravel中,当表a中的单个条目(例如用户)与表B中的多个条目(例如付款方式)关联时,我们定义了

因此,在User.php模型中,我们设置:

return $this->hasMany('PaymentMethods', 'foreign_key', 'local_key');
外键是有意义的,例如,它可以是
userid
,因为付款方式表B中的每个条目只有一个用户。但是,为什么可以在这里设置本地密钥?当用户表与许多付款方式关联,因此不能设置为单个付款方式id时,它怎么可能有“付款方式”id键

类似地,为了完成关系,我必须在PaymentMethod.php模型中定义一个belongsTo:

 return $this->belongsTo('User');

在这里,应该只设置第二个参数,即本地键(例如to
userid
)?

如果关系基于与用户主键不同的列,则可以定义
local\u key

如果您坚持默认设置,主键将命名为
id
,并引用列,例如
user\u id
。然后你可以简单地做:

return $this->hasMany('PaymentMethod');


如果关系基于与用户主键不同的列,则可以定义
local\u key

如果您坚持默认设置,主键将命名为
id
,并引用列,例如
user\u id
。然后你可以简单地做:

return $this->hasMany('PaymentMethod');


如果关系基于与用户主键不同的列,则可以定义
local\u key

如果您坚持默认设置,主键将命名为
id
,并引用列,例如
user\u id
。然后你可以简单地做:

return $this->hasMany('PaymentMethod');


如果关系基于与用户主键不同的列,则可以定义
local\u key

如果您坚持默认设置,主键将命名为
id
,并引用列,例如
user\u id
。然后你可以简单地做:

return $this->hasMany('PaymentMethod');


这并不能回答问题。在一对多关系中,用户id对付款方式表有什么影响?@Tom为了建立关系,它从
PaymentMethod
中取
user\u id
的值,在
id
列中查找
user
。如果由于任何原因,
User
的主键未命名为
id
,而是命名为其他任何东西,则您可以将其设置为关系中的
local\u键。这不会回答问题。在一对多关系中,用户id对付款方式表有什么影响?@Tom为了建立关系,它从
PaymentMethod
中取
user\u id
的值,在
id
列中查找
user
。如果由于任何原因,
User
的主键未命名为
id
,而是命名为其他任何东西,则您可以将其设置为关系中的
local\u键。这不会回答问题。在一对多关系中,用户id对付款方式表有什么影响?@Tom为了建立关系,它从
PaymentMethod
中取
user\u id
的值,在
id
列中查找
user
。如果由于任何原因,
User
的主键未命名为
id
,而是命名为其他任何东西,则您可以将其设置为关系中的
local\u键。这不会回答问题。在一对多关系中,用户id对付款方式表有什么影响?@Tom为了建立关系,它从
PaymentMethod
中取
user\u id
的值,在
id
列中查找
user
。如果由于任何原因,
User
的主键未命名为
id
,而是命名为其他任何名称,则您可以将其设置为关系中的
local\u键。