Laravel blade 混合关系。我怎样才能做到这一点?
Laravel blade mixed relationships. How can I do that?
我有一个问题。我有两张桌子:
设备和人
在这些数据库中,一个设备可以分配给一个人(所以它是一对一的关系),但是一个人可能有很多设备(所以这是一对多的关系)。我怎么能在Laravel?一对一不太容易,在模型中我可以做到:
设备
class Devices extends Model
{
public function persons(){
return $this->hasOne('App\Persons','id');
}
}
人
class Persons extends Model
{
public function devices(){
return $this->belongsTo('App\Devices');
}
}
所以我认为这是一对一的关系:一台设备分配给一个人。
我怎样才能将多台设备分给一个人?在 Persons 模型中将 belongsTo 更改为 belongsToMany?这些变体可以吗?
这是一个 one-to-many
关系,因此您的关系将如下所示:
人
class Persons extends Model
{
public function devices(){
return $this->hasMany('App\Devices');
}
}
设备
class Devices extends Model
{
public function person(){
return $this->belongsTo('App\Persons');
}
}
试试这个:
人
public function devices() {
return $this->hasMany('App\Devices');
}
意味着这个人会有很多设备。
设备
public function persons() {
return $this->belongsTo('App\Persons');
}
表示设备属于某个人。
更多信息:http://laravel.com/docs/5.3/eloquent-relationships#one-to-many
我有一个问题。我有两张桌子: 设备和人
在这些数据库中,一个设备可以分配给一个人(所以它是一对一的关系),但是一个人可能有很多设备(所以这是一对多的关系)。我怎么能在Laravel?一对一不太容易,在模型中我可以做到:
设备
class Devices extends Model
{
public function persons(){
return $this->hasOne('App\Persons','id');
}
}
人
class Persons extends Model
{
public function devices(){
return $this->belongsTo('App\Devices');
}
}
所以我认为这是一对一的关系:一台设备分配给一个人。
我怎样才能将多台设备分给一个人?在 Persons 模型中将 belongsTo 更改为 belongsToMany?这些变体可以吗?
这是一个 one-to-many
关系,因此您的关系将如下所示:
人
class Persons extends Model
{
public function devices(){
return $this->hasMany('App\Devices');
}
}
设备
class Devices extends Model
{
public function person(){
return $this->belongsTo('App\Persons');
}
}
试试这个:
人
public function devices() {
return $this->hasMany('App\Devices');
}
意味着这个人会有很多设备。
设备
public function persons() {
return $this->belongsTo('App\Persons');
}
表示设备属于某个人。
更多信息:http://laravel.com/docs/5.3/eloquent-relationships#one-to-many