编辑多条记录
问题描述:
我正在试图用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)我得到空出于某种原因...
答
我认为,当你将数据发送到您的看法,您与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,你点击打开模式,然后用它来提取你的信息需要。 – Samsquanch