Laravel,如何从一个单一的形式
问题描述:
我有这两个非常简单的模型更新一一对一关系的两个表。我可以使用单个表格,但我认为将这些数据集分开是有意义的。Laravel,如何从一个单一的形式
在一个表单中,我想同时编辑Episode及其内容,但经过多次尝试,我还没有想出如何。
这是我在做什么:
public function update(Request $request, $id)
{
$rules = [
'number' => 'required',
];
$this->validate($request, $rules);
$episode = Episode::with('content')->findOrFail($id);
$episode->published_at = $request->get('published_at');
$episode->number = $request->get('number');
$episode->content->title = $request->get('title');
$episode->update();
return redirect('admin/episodes');
}
这样,没有在episodes_content表更改。
在另一种尝试,我尝试这样做:
$episode->published_at = $request->get('published_at');
$episode->number = $request->get('number');
$episode->active = $request->get('active');
$episodeContent = new EpisodeContent;
$episodeContent->title = $request->get('title');
$episode->content()->save($episodeContent);
这样,一个新的episodes_content行创建的,而我想更新现有的一个。
答
试试这个我想这会工作
$episode = Episode::with('content',function($query) use($id){
$query->where('episode_id',$id);
})->where('id',$id);
在这里,我假设你的字段名称标识在父表和episode_id在子表。让我知道如果它不起作用。