【发布时间】:2018-03-16 09:20:53
【问题描述】:
我正在处理一个帐户只能有一个主要用户但有多个普通用户的项目。我正在尝试确定如何区分用户。这是我目前的设置:
用户模型关系
public function accounts()
{
return $this->belongsToMany('App\Models\Account', 'account_user');
}
帐户模型关系
主帐户用户(一对多)
public function user()
{
return $this->belongsTo(\App\Models\User::class);
}
普通帐户用户(多对多)
public function users()
{
return $this->belongsToMany('App\Models\User', 'account_user');
}
在将要显示这些用户的页面中,我不确定如何拆分用户(主要用户与普通用户)。下面是我对表格的迁移。
用户表
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
帐户表
Schema::create('accounts', function (Blueprint $table) {
$table->increments('id');
$table->string('account_number');
$table->integer('user_id')->unsigned()->index();
$table->timestamps();
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
});
帐户用户(数据透视表)
Schema::create('account_user', function (Blueprint $table) {
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->integer('account_id')->unsigned();
$table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
});
我真的不明白 1.如何区分两个主要用户和普通用户。 2. 在哪里创建上面的函数(模型,视图中,服务,...)。
感谢您的帮助,如果您需要更多信息,请告诉我。
【问题讨论】:
标签: php mysql laravel migration