使用不同的数据更新同一表上的多个记录

时间:2018-09-18 09:32:20

标签: laravel eloquent

我有一个页面,其中包含6个标题和文本区域。我希望允许用户对其全部进行更新。

这是刀片文件

@foreach($page->content as $key => $pageContent)
  <div class="input--textarea flex-3-fr">
    <label class="label-std" for="content">Box #{{ $key+1 }}</label>
    <div class="input--text--big flex-3-fr @if($errors->has('title')){{'has-error'}}@endif">
      <input name="title" type="text" placeholder="Box title" value="{{ $pageContent->content_title or '[No Title]'}}"/>

    </div>
    <textarea name="content" class="wysiwyg-markdown-editor" form="form-page" rows="7">{{ $pageContent->content or '[No Content]' }}</textarea>
  </div>
@endforeach

这是控制器。当前,它仅将最后一个值应用于每个记录。如何将正确的值应用于正确的记录。

public function update(Request $request, $id)
{
    $page = Page::findOrFail($id);

    $pageContents = PageContent::where('page_id', $page->id)->get();

    foreach($pageContents as $pageContent)
    {
      $pageContent->content_title   = request('content');
      $pageContent->content         = request('title');
      $pageContent->update();
    }

    dd($request->all());


    return redirect()->route('info-pages.show', ['id' => $page->id]);
}

0 个答案:

没有答案