【发布时间】:2021-10-17 12:04:40
【问题描述】:
我正在使用 Laravel 5.8,在这个项目中,我想从数据库中的一个表中删除一些数据,所以我在 Blade 上编写了这个代码:
<form action="{{ route('destroyWallet', $wallet->id) }}" method="POST">
@csrf
@method('DELETE')
<button type="submit" class="fa text-dark mr-2"> Delete </button>
</form>
这里是destroyWallet的路线:
Route::delete('wallets/delete/{wallet}','Wallet\WalletController@destroy')->name('destroyWallet');
这是WalletController的控制器destroy方法:
public function destroy(Request $request, Wallet $wallet)
{
$subscribe = UserWallet::where('wallet_id',$wallet->id)->get();
$subscriptions = UserWalletTransaction::where('wallet_id', $wallet->id)->get();
if($subscribe != NULL){
$subscribe->delete();
}
if($subscriptions != NULL){
$subscriptions->delete();
}
$wallet->delete();
return redirect(url('admin/wallets/index'));
}
但是一旦我运行它,我就会收到以下错误消息:
方法 Illuminate\Database\Eloquent\Collection::delete 不存在。
那么这里出了什么问题?我该如何解决这个问题?
【问题讨论】:
标签: php laravel laravel-5.8 laravel-collection