【问题标题】:Unable to Retrieve Old Data in Edit Form in Laravel无法在 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">&times;</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 它尝试过但没有用...

标签: php laravel laravel-5 crud laravel-resource


【解决方案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

    【讨论】:

      猜你喜欢
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      相关资源
      最近更新 更多