没有模型 [App\Models\Favourite] 的查询结果

No query results for model [App\Models\Favourite]

public function destroy($id)
{

    $bar = Favourite::findOrFail($id);
    $bar->where('bar_id', $id)->delete();

}

你正在使用 findOrFail 这意味着如果它没有得到结果它会抛出一个异常,因为 documentation 说你会得到这个异常:

Illuminate\Database\Eloquent\ModelNotFoundException

Message: No query results for model [App\Models\Favourite]

所以在控制器上正确的做法应该是:

use Illuminate\Database\Eloquent\ModelNotFoundException; //Import exception.

try {
  Favourite::destroy($id);
} catch (ModelNotFoundException $e) {
  // Handle the error.
}

另一种方法是在模型上这样做:

public function destroy($id)
{
    return Favourite::find($id)->delete();
}

但是您需要控制找不到模型时发生的情况。

有时候问题出在销毁参数上 例如,我的问题是

public function destroy(Room $room)
{
      //....
}

我的问题是我向函数发送了数据,但没有考虑参数中的数字 所以它抛出了你所说的同样的错误

所以我的解决方案是添加我想发送的参数

public function destroy(Request $request, $id)
{
     //....
}