编辑多条记录

问题描述:

我正在试图用Laravel制作这个小的CV类型配置文件,我遇到了这个问题,我不知道它应该如何解决,正确的方法。 在用户配置文件中,我有一个类别,用户可以添加工作经历。显然,用户可以在他工作的地方添加多个地方。我使用模态来做这件事,它可以工作,我可以将它们存储在数据库中。编辑多条记录

事情是,现在我想让用户能够编辑他输入的内容。所以,我做了一个编辑按钮,触发一个模式窗口,他可以编辑数据库记录。 我不知道的是我可以如何获取记录的特定ID,以便填充模式窗口,然后保存所有更改。

要,因为我不知道我是否是很清晰总结这件事..

我在DB 3项为每个条目工作经历+ 3个编辑联系。 然后,该编辑链接应导致用户可编辑它的特定条目的模式窗口。

编辑:

我到了一个点以下一些对你有帮助。但是之后,我再次卡住..

所以,我必须在用户配置文件这一工作经历,这里是如何我显示出来:

 @foreach ($employment as $empl) 
     <input type="hidden" name="emplID" value="{{ $empl->id }}"> 
     <button data-toggle="modal" data-target="#edit-empl" href="#edit-empl" class="btn btn-default" type="button" name="editbtn">Edit</button> 
     <h3 class="profile-subtitle">{{ $empl->company }}</h3> 
     <p class="profile-text subtitle-desc">{{ $empl->parseDate($empl->from) }} - {{ $empl->parseDate($empl->to) }}</p> 
     @endforeach 

正如你所看到的,我有一个隐藏的输入从哪里获得就业的ID。现在,这个ID我都将它传递给模态窗口,我可以编辑记录.. 我想将它传递给模态,以便我可以显示当前值从数据库中:

@foreach ($employment as $empl) 
    @if ($empl->id == $emplID) 
     <div class="form-group"> 
     <label for="company">Company:</label> 
     <input type="text" name="company" value="{{ $empl->company }}"> 
     </div> 

     <div class="form-group"> 
     <label for="month">From:</label> 
     <input type="date" name="from" value="{{ $empl->from }}"> 
     </div> 

     <div class="form-group"> 
     <label for="to">To:</label> 
     <input type="date" name="to" value="{{ $empl->to }}"> 
     </div> 
    @endif 
    @endforeach 

这是我在想这样做,但我不知道如何传递$ EMPLID ......在我返回轮廓视图控制器,我试图通过它像这样:

$emplID = Input::get('emplID'); 
return view('user.profile', compact(['employment','emplID'])); 

但是,如果我的DD($ EMPLID)我得到空出于某种原因...

+0

既然你没有发布任何代码,没有人可以给你一个具体的答案,但一般的想法是你在按钮的某个地方存储ID,你点击打开模式,然后用它来提取你的信息需要。 – Samsquanch

我认为,当你将数据发送到您的看法,您与id和任何给他们别的你想要的。 id是最重要的,因为它是独一无二的。假设您的工作经历包含在$history变量中。在你的模式,做

{!! Form::model($history, ['method' => 'PATCH', 'route' => ['history.update', $history->id]]) !!} 
    ... //your inputs here like company, role, description, etc. 
    ...submit button 
{!! Form::close() !!} 

当您提交它关系到你的控制器,并且定义了路由,链接到控制器的更新功能。为了便于解释,我将编制一些模型。

public function update(Request $request, $id) 
{ 
    $history = History::find($id); //check if the history exist 
    if (!$history) return redirect()->back(); 

    $history->company = $request->company; 
    ... 
    $history->save(); 

    return redirect()->back()->with('message', 'Successfull'); //Flash message. 
} 

如果你只是想将变量id传递给模态窗口,这将帮助你。 https://stackoverflow.com/a/10635652/4668162