我在数据库中有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
不能为空的错误。
知道如何同步数据吗?我不想手动附加和分离它们。