カテゴリに多相関係があり、クライアントまたはテンプレートに属することができます。Laravel保存時に多相リレーションが上書きされます
カテゴリをテンプレートからクライアントに割り当てようとしています。しかし、それは私のテンプレートカテゴリを上書きしています。
カテゴリーモデル
class Category extends Model
{
public function categorisable()
{
return $this->morphTo();
}
}
クライアントモデル
class Client extends Model
{
public function categories()
{
return $this->morphMany(Category::class, 'categorisable');
}
}
テンプレートモデル
class Template extends Model
{
public function categories()
{
return $this->morphMany(Category::class, 'categorisable');
}
}
これは私がクライアント
$template = Template::find($request->get('template_id'));
$client = Client::find($request->get('client_id'));
// For this template, get all categories
foreach($template->categories as $category) {
$client->categories()->save($category);
}
にテンプレートからカテゴリーをコピーしようとしている。しかし、それは私のカテゴリテーブル内の2つのカテゴリを上書きするのコードです。クライアントに保存しますが、テンプレートから削除します。
ご協力いただければ幸いです! ありがとうございます。