如何使用 Laravel 关系创建表?
Posted
技术标签:
【中文标题】如何使用 Laravel 关系创建表?【英文标题】:How to use Laravel relationships to create a table? 【发布时间】:2021-11-10 12:56:18 【问题描述】:如图所示:
task
同时属于 user
和 project
。
user
和 project
可以有多个 tasks
。
如何使用laravel relationships
创建task
?
【问题讨论】:
【参考方案1】:没有什么复杂的。一项任务belongsTo
项目,还有一项任务belongsTo user
。
用户hasMany
任务,项目hasMany
任务。
任务模型:
public function user()
return $this->belongsTo(User::class);
public function project()
return $this->belongsTo(Project::class);
项目模型:
public function tasks()
return $this->hasMany(Task::class);
然后,当您为项目创建任务时,您可以执行以下操作:
$project->tasks()->create([...]);
【讨论】:
我如何使用这种关系在控制器上创建task
?
这取决于用例。比如我写的$project->tasks()->create(['name' => 'Open door']);
会根据$project自动设置project_id($project是特定项目的Model)。以上是关于如何使用 Laravel 关系创建表?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 中使用多表查询而不使用 Eloquent 关系