我正在用Laravel创建一个项目。 我有两个通过迁移创建的数据库表: 我想在数据库架构中设置多个外键。
Schema::create('tr_users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email');
$table->timestamp('email_verified_at')->nullable();
$table->rememberToken();
$table->string('password');
$table->unsignedBigInteger('departement_id')->nullable();
$table->foreign('departement_id')
->references('id_departement')->on('tr_departements')
->onUpdate('cascade')
->onDelete('cascade');
});
Schema::create('tr_departements', function (Blueprint $table) {
$table->bigIncrements('id_departement');
$table->string('name');
$table->timestamps();
$table->unsignedBigInteger('created_by')->nullable();
$table->foreign('created_by')
->references('id')->on('tr_users')
->onDelete('cascade');
$table->unsignedBigInteger('updated_by')->nullable();
$table->foreign('updated_by')
->references('id')->on('tr_users')
->onDelete('cascade');
});
我想知道的是如何在模型中描述关系?
编辑:
我使用这种关系的计划是每个用户都属于一个部门,任何部门都有很多用户,每个用户只有一个部门
答案 0 :(得分:0)
如果您正在寻求用户与部门之间的一对一关系,则这种关系将是这样的:
在您的用户模型中,代码将如下所示:
public function department()
{
return $this->hasOne('App\Department');
}
在您的部门模型中:
public function user()
{
return $this->belongsTo('App\User');
}
有关多重关系,您可以参考laravel文档