我的目标是让每个用户登录并在每次聚会后发表评论。我有两个角色,管理员和候选人。
我的桌子是:
候选人,其中包含3个字段(ID,名称,电子邮件)
会议,其中包含3个字段(id,date_seance,fk_candidate)
注释,其中包含4个字段(标识,说明,说明,fk_seance)
用户,其中包含3个字段(ID,电子邮件,密码)
我的第一个问题,根据你的看法,我的关系还可以吗?
模型用户
public function candidates()
{
return $this->hasOne('App\Candidate', 'user_id', 'id');
}
public function remarks()
{
return $this->hasOne('App\Remark', 'user_id', 'id');
}
候选模型
public function user(){
return $this->belongsTo('App\User', 'id', 'user_id');
}
public function seances(){
return $this->hasMany('App\Seance', 'fk_candidate');
}
模型集会
public function candidates(){
return $this->belongsTo('App\Candidate', 'fk_candidate');
}
public function remarks(){
return $this->hasMany('App\Remark', 'fk_seance');
}
型号备注
public function user(){
return $this->belongsTo('App\User', 'id', 'user_id');
}
public function seances(){
return $this->belongsTo('App\Seance', 'fk_seance');
}
我的第二个问题,是我必须在表上添加一个user_id备注???
备注
Schema::create('remarks', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned()->nullable();
$table->foreign('user_id')->references('id')->on('users');
$table->string('instruction', 30);
$table->text('description', 80);
$table->integer('fk_seance')->unsigned();
$table->foreign('fk_seance')->references('id')->on('seances');
$table->timestamps();
});
候选人
Schema::create('candidates', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned()->nullable();
$table->foreign('user_id')->references('id')->on('users');
$table->string('name');
$table->string('email');
$table->timestamps();
});
时间
Schema::create('seances', function (Blueprint $table) {
$table->increments('id');
$table->date('date_seance');
$table->integer('fk_candidate')->unsigned();
$table->foreign('fk_candidate')->references('id')->on('candidates');
$table->timestamps();
});
非常感谢您的帮助。