如何以多态关系同步数据?

时间:2018-06-13 17:12:04

标签: laravel laravel-5.5

我在数据库中有3个表。

#statuses
- id
- name

# stageable
- id
- client_file_id
- status_id
-stageable_id
-stageable_type

#modules
- id
- name

模块是可分阶段的'意味着他们可以拥有“未开始”,“已完成”等状态

我在模型中有以下代码

<?php

namespace App;

class Module extends Model
{
    protected $guarded = [];

    public function status()
    {
        return $this->morphToMany(Status::class, 'stageable')->withTimestamps();
    }

}

我想保存模特状态。

我试过了

$module->status()->sync(new Status([
    'id' => 2 // e.g status number 2
     'client_file_id' => 1 // Client file ID from request
]));

我从DB得到client_file_id不能为空的错误。

知道如何同步数据吗?我不想手动附加和分离它们。

0 个答案:

没有答案