【发布时间】:2015-07-26 05:19:39
【问题描述】:
我有一个具有以下关联 (belongsToMany) 的电影模型:
演员
国家
类型
...
发布表单时,我有这些数据(这里跳过很多细节):
'演员' => 数组(
“加里·格兰特”,
“格蕾丝·凯利”,
...
),
'流派' => 数组(
'戏剧',
...
),
...
我希望我的 update()/store() 控制器函数能够轻松关联这些模型。
名为“Cary Grant”的演员可能存在也可能不存在,并且可能已经或可能不与我正在编辑的电影相关联。我也可以将他从这部电影中删除,所以我需要删除关联。与类型和其他所有内容相同。
所以我想我会做一个 BaseModel 并在那里只做一次所有这些,就像这样:
1. 获取电影模型定义的关联。
2. 检查 POST 数据是否包含这些关联。
3. 对于它们中的每一个,检查它们是否存在(如果不创建它们)并返回一个 id 数组。我正在检查的列是“名称”,但它可以是可配置的。
4. sync() 那些 id。
目前,我不需要从电影表单中向相关模型添加更多内容(例如演员的生日)。
我被困在 n.1($movie->getRelations() 仅适用于现有电影),总的来说,我不确定这是否是正确的方法。提示?
【问题讨论】: