Php 调用laravel 5中未定义的方法Illumb\Database\Query\Builder::method()错误
当我单击调用Php 调用laravel 5中未定义的方法Illumb\Database\Query\Builder::method()错误,php,forms,laravel,laravel-5,Php,Forms,Laravel,Laravel 5,当我单击调用Controller@delete控制器上的方法 调用未定义的方法illumb\Database\Query\Builder::destroy() 抛出新的BadMethodCallException(“调用未定义的方法 {$className}::{$method}()” 销毁方法 public function destroy($id) { User::where('role', 'admin')->destroy($id); return redire
Controller@delete
控制器上的方法
调用未定义的方法illumb\Database\Query\Builder::destroy()
抛出新的BadMethodCallException(“调用未定义的方法
{$className}::{$method}()”
销毁方法
public function destroy($id)
{
User::where('role', 'admin')->destroy($id);
return redirect('/home')->with('message', 'Deleted!');
}
::delete()
只能在illumb\Database\elounce\Model
实例上使用。当您使用where()
时,您会得到illighted\Database\Query\Builder
。这就是你出错的原因。使用->delete()
代替->destroy()
,它会正常工作 ::delete()
只能在illumb\Database\eloont\Model
实例上使用。当您使用where()
时,您会得到illighted\Database\Query\Builder
。这就是你出错的原因。使用->delete()
代替->destroy()
,它会正常工作 您只能使用密钥销毁现有模型。如果需要筛选器,请使用“删除”
laravel文档:
按键删除现有模型
User::destroy(1);
User::destroy(array(1, 2, 3));
User::destroy(1, 2, 3);
当然,您也可以对一组模型运行删除查询:
$affectedRows = User::where('votes', '>', 100)->delete();
您只能使用密钥销毁现有模型。如果需要筛选器,请使用“删除” laravel文档:
按键删除现有模型
User::destroy(1);
User::destroy(array(1, 2, 3));
User::destroy(1, 2, 3);
当然,您也可以对一组模型运行删除查询:
$affectedRows = User::where('votes', '>', 100)->delete();
首先从DB中查找记录,如:
$user = User::where('role', 'admin')->where('id', $id);
然后删除它,如:
$user->delete();
希望这能解决你的问题 首先从DB中查找记录,如:
$user = User::where('role', 'admin')->where('id', $id);
然后删除它,如:
$user->delete();
希望这能解决你的问题 尝试:
User::find($id)->delete()代码>希望这能解决它@很抱歉,我忘了包括where('role','admin')部分。该部分实际上导致了错误。请尝试:$user=user::where('role','admin')->where('id',$id)$用户->删除()代码>尝试:用户::查找($id)->删除()代码>希望这能解决它@很抱歉,我忘了包括where('role','admin')部分。该部分实际上导致了错误。请尝试:$user=user::where('role','admin')->where('id',$id)$用户->删除()
您的意思是destroy
只能作为静态调用在模型上使用?我认为这是一个输入错误delete
->destroy
您的意思是destroy
只能作为静态调用在模型上使用?我认为这是一个打字错误delete
->destroy