我的模型和我在laravel上的关系

时间:2019-09-14 16:13:49

标签: laravel laravel-5

我的目标是让每个用户登录并在每次聚会后发表评论。我有两个角色,管理员和候选人。

我的桌子是:

候选人,其中包含3个字段(ID,名称,电子邮件)

会议,其中包含3个字段(id,date_seance,fk_candidate)

注释,其中包含4个字段(标识,说明,说明,fk_seance)

用户,其中包含3个字段(ID,电子邮件,密码)

enter image description here

我的第一个问题,根据你的看法,我的关系还可以吗?

模型用户

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();
        });

非常感谢您的帮助。

0 个答案:

没有答案