如何使用 Laravel 关系创建表?

Posted

技术标签:

【中文标题】如何使用 Laravel 关系创建表?【英文标题】:How to use Laravel relationships to create a table? 【发布时间】:2021-11-10 12:56:18 【问题描述】:

如图所示: task 同时属于 userprojectuserproject 可以有多个 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 关系

Laravel 如何创建数据透视表?

如何通过laravel创建数据透视表

如何在 php Laravel 中的两个表之间创建一对多关系?

Laravel:如何使用多个数据透视表关系

如何使用 Laravel 获取具有表之间关系的数据