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