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在子表。让我知道如果它不起作用。