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

如图所示: task 同时属于 userprojectuserproject 可以有多个 tasks

如何使用laravel relationships 创建task

【问题讨论】:

    标签: database laravel vue.js eloquent


    【解决方案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)。
    猜你喜欢
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 2016-01-11
    相关资源
    最近更新 更多