Извините, искомая страница не может быть найдена при попытке изменить нулевое значение в laravel - PullRequest
0 голосов
/ 18 сентября 2018

Я создал функцию редактирования для редактирования существующего значения в базе данных в laravel.a

Всякий раз, когда я нажимаю на функцию редактирования (кнопка), которая имеет нулевое значение (значение по умолчанию устанавливается равным нулю в SQL, когда естьв нем нет данных) в нем отображается ошибка:

Извините, искомая страница не может быть найдена.

Но когда я нажимаю на правкуу которого есть значение, функция работает правильно.

Что нужно сделать в этой ситуации?

Контроллер:

public function showuserseditform($id)
{
    $wallet = Wallet::find($id);

    return view('Admin.Wallets.editUserWallet')->with('wallet', $wallet);

}

Редактировать функции страницы:

<td> 
    <a href="{{ route('userwallet.edit',['id' => $wallet['walletUsers']['walletid'] ]) }}" class="m-portlet__nav-link btn m-btn m-btn--hover-accent m-btn--icon m-btn--icon-only m-btn--pill" title="Edit ">
        <i class="la la-edit"></i>
    </a>
    <a href="{{ route('userwallet.destroy', ['id' => $wallet['walletUsers']['walletid'] ]) }}" class="m-portlet__nav-link btn m-btn m-btn--hover-accent m-btn--icon m-btn--icon-only m-btn--pill" title="Delete ">
        <i class="la la-trash"></i>
    </a>
</td>

Форма редактирования:

<form class="form" method="post" action="{{ route('userwallet.update',['id' => $wallet->walletid ]) }}">
    {{ csrf_field() }}
    <div class="form-body">
        <h4 class="form-section"><i class="la la-eye"></i> Wallet Details</h4>
        <div class="container">
            <div class="col-md-8 offset-2">
                <div class="form-group">
                    <label for="name">Name</label>
                    <input type="text" id="name" value="{{ $wallet->walletUserId->name  }}" class="form-control border-primary" placeholder="Name" name="name">
                </div>
            </div>
            <div class="col-md-8 offset-2">
                <div class="form-group">
                    <label for="email">Wallet Balance</label>
                    <input type="text" id="text" value="{{ $wallet->balance }}" class="form-control border-primary" placeholder="Email"
                           name="balance">
                </div>
            </div>
        </div>
    </div>
    <div class="form-actions right">
        <a href="{{ route('user.wallet') }}" class="btn btn-warning mr-1">
            <i class="ft-x"></i> Cancel
        </a>
        <button type="submit" name="submit" class="btn btn-primary">
            <i class="la la-check-square-o"></i> Save
        </button>
    </div>
</form>

Путь для редактирования:

Route::get('/admin/wallet/edit/{id}', [
    'uses' => 'WalletController@showuserseditform', 
    'as' => 'userwallet.edit'
]);

Пожалуйста, руководство для редактирования поля, даже если оно пустое!

1 Ответ

0 голосов
/ 18 сентября 2018

Попробуйте

Route::get('/admin/wallet/edit/{id?}', [
  'uses' => 'WalletController@showuserseditform', 
  'as' => 'userwallet.edit'
]);


public function showuserseditform($id=null)
{

    $view_data = [];


    $view_data['wallet'] = $id ? Wallet::find($id) : null;


    return view('Admin.Wallets.editUserWallet', $view_data);

}

Кроме того, вероятно, в шаблон вы должны будете добавить такие термины, как $wallet == null, не позволяйте ему показывать данные из модели.

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