我正在开发一个系统而且我有一个问题,在系统中我有3个主要模型(User,State,City),用来管理我使用Laravel包名为Entrust的用户,这个包我可以定义系统角色,其中一个角色是manager
,manager
可以有Cities
和States
,但States
可以有几个{ {1}},所以在我的模型中Cities
Cities
到BelongsTo
和User
。
这是对的吗?一个模型可以States
多一个模型?我在Google上找不到满意的答案。
user.php的
BelongsTo
State.php
class User extends Authenticatable
{
use Notifiable;
use EntrustUserTrait;
use SearchableTrait;
protected $fillable = [
'role',
'active',
'status',
'name',
'slug',
'email',
'password',
'cpf',
'rg',
'mothers_name',
'marital_status',
'curriculum',
'psychiatric_report',
'contract',
'phone',
'adress',
'city',
'state',
'country',
];
protected $hidden = [
'password', 'remember_token',
];
protected $searchable = [
'columns' => [
'users.name' => 10,
'users.slug' => 8,
'users.email' => 8,
]
];
public function getRouteKeyName()
{
return 'slug';
}
public function states()
{
return $this->hasMany('App\State');
}
public function cities()
{
return $this->hasMany('App\City');
}
}
City.php
class State extends Model
{
protected $fillable = [
'name',
'slug',
'initials',
'manager_id'
];
public function getRouteKeyName()
{
return 'slug';
}
public function manager(){
return $this->belongsTo('App\User');
}
public function cities(){
return $this->hasMany('App\City');
}
}