无法在 Laravel 的编辑表单中检索旧数据
Posted
技术标签:
【中文标题】无法在 Laravel 的编辑表单中检索旧数据【英文标题】:Unable to Retrieve Old Data in Edit Form in Laravel 【发布时间】:2019-08-29 01:17:56 【问题描述】:我想在按下编辑按钮时获取该 ID 的数据。我的所有字段都为空。我正在使用同一页面进行创建和编辑。
更新功能
public function update(Request $request)
$user = User::findOrFail($request->user_id);
$user->update($request->all());
return back();
编辑按钮
<div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Edit user</h4>
</div>
<form action="route('user.update','test')" method="post">
method_field('patch')
csrf_field()
<div class="modal-body">
<input type="hidden" name="user_id" id="cat_id" value="">
@include('admin.form')
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Save Changes</button>
</div>
</form>
</div>
</div>
</div>
admin.form
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" id="name">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" class="form-control" name="email" id="email">
</div>
我在其他一些表上使用相同的功能技术,有些工作正常,有些则不行。谁能告诉我我在哪里做错了。
【问题讨论】:
在这个question 中给出了你的答案 @Lim Kean Phang 它尝试过但没有用... 【参考方案1】:你应该传递你的变量 $用户
回到你的视图,这样你就可以再次传播它:
<input type="text" class="form-control" name="name" id="name" value=$user->name>
所以你应该这样做
public function update(Request $request)
$user = User::findOrFail($request->user_id);
$user->update($request->all());
return back();
到
return view ('admin.form, compact('user'));
或者您也可以使用会话,以便您可以检索数据,然后将其显示到您希望显示的刀片
【讨论】:
【参考方案2】:https://laracasts.com/discuss/channels/laravel/how-to-pass-id-from-controller-to-route-and-route-to-controller?page=0 这是您必须仔细阅读的链接,当您单击编辑按钮时,您必须将用户 ID 传递给模式,然后您将使用该特定用户 ID 设置查询,然后您可以在模型中显示数据,以及链接中提供的所有操作方法。 你也可以使用java脚本来做这里的链接。 Passing data to a bootstrap modal
【讨论】:
以上是关于无法在 Laravel 的编辑表单中检索旧数据的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4 - 显示带有旧数据输入以及数据库信息的编辑表单