omr*_*hur 9 php relationship laravel
我有一个Company模型,我想在其中定义与User模型的两个关系:
public function users(){
return $this->hasMany('App\User');
}
public function administrator(){
return $this->hasOne('App\User', 'superuserid');
}
Run Code Online (Sandbox Code Playgroud)
我有一个superuserid在我的领域companies在数据库中的表,这是一个外键id的的users表.
我只是想知道这是一个好策略还是可能?
是的,这是一个很好的策略,而且是可能的。
在您的模型中,您可以根据模型需要定义尽可能多的关系。这些关系可以是不同的类型(hasOne、hasMany、belongsTo 等)。
在您的例子中,由于该公司有多个用户并且属于超级用户,因此我们有两种不同的关系,因此,显然,我们需要在模型中创建两种方法来表示这两种关系。
另一个例子:你和你父亲之间的关系。假设有一个 User 模型的实现:
class User extends Model
{
public function children()
{
return $this->hasMany(User::class, 'id_parent');
}
public function dad()
{
return $this->belongsTo(User::class, 'id_parent')->where('gender', 'male');
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,一个用户可以有很多孩子,但只属于一个父亲。
| 归档时间: |
|
| 查看次数: |
2335 次 |
| 最近记录: |