Невозможно получить старые данные в форме редактирования в Laravel - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу получить данные этого идентификатора при нажатии кнопки редактирования.Все мои поля остаются пустыми.Я использую ту же страницу для создания и редактирования.

Функция обновления

 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>

Я использую те же методы функций для некоторых других таблиц, некоторые работают нормально, некоторые нет.Может кто-нибудь, пожалуйста, скажите мне, где я делаю неправильно в этом.

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

вы должны передать свою переменную $ Пользователь

вернитесь к вашему виду, чтобы вы могли распространять его снова как:

<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'));

или вы также можете использовать сеансы, чтобы вы могли получить данные и затем отобразить их на блейде, который вы хотите отобразить

0 голосов
/ 08 апреля 2019

https://laracasts.com/discuss/channels/laravel/how-to-pass-id-from-controller-to-route-and-route-to-controller?page=0 Вот ссылка, которую вы должны внимательно прочитать, и когда вы нажимаете на кнопку редактирования, вам нужно передать идентификатор пользователя модальному и вы зададите запрос, используя этот конкретный идентификатор пользователя и послечто вы можете отобразить данные в модели, и как вы можете это сделать, все приведено в ссылке.Также вы можете сделать это с помощью сценария Java здесь ссылка. Передача данных модалу начальной загрузки

...