Laravel - 模型属于多个模型

时间:2018-03-19 14:23:03

标签: php laravel laravel-5

我正在开发一个系统而且我有一个问题,在系统中我有3个主要模型(User,State,City),用来管理我使用Laravel包名为Entrust的用户,这个包我可以定义系统角色,其中一个角色是managermanager可以有CitiesStates,但States可以有几个{ {1}},所以在我的模型中Cities CitiesBelongsToUser

这是对的吗?一个模型可以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');
    }
}

0 个答案:

没有答案