我已经创建了一个编辑功能来编辑laravel.a中数据库中的现有值。
每当我单击其中具有空值(没有提供数据的默认值在sql中设置为null)的编辑功能(按钮)时,就会显示错误:
对不起,找不到您要查找的页面。
但是当我单击具有值的编辑时,该功能将正常工作。
在这种情况下应该怎么做?
控制器:
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'
]);
即使字段为空,也请注意编辑字段!
答案 0 :(得分:0)
尝试
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
之类的术语,不要让其显示来自模型的数据。