首页 > 解决方案 > show(Model $model) 在 Laravel 7 中不起作用

问题描述

我创建了一个模型控制器。在中show(ModelName $model),我定义了方法:`

show(ModelName $model){
return response()->json(['data'=>$model]);
}

`,但它没有按预期工作。它应该返回模型及其属性,但它返回的是一个空数组。我的路线是:

Route::resource('model','ModelController');

模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Notifications\Notifiable;

class ModelName extends Model
{
    use Notifiable,SoftDeletes;

    protected $fillable = [
        'name',
    ];
}

所有其他方法都返回预期值。只是 show 方法无法正常工作。我尝试使用

show($id){
$model = ModelName::findOrFail($id)
return response()->json(['data'=>$model]);
}

这完美地工作,但我不能使用show(Model $model)这种类型的函数调用。我可以通过相同的方法检索用户数据。我无法弄清楚问题是什么。有没有人有办法解决吗?

标签: phphtmllaravelweb

解决方案


通过 uri中的 cmd 匹配大小写检查您的路线列表php artisan route:list --name=Model ,与您的 (Model $model) 相同,$model 应与 uri 中的 {model} 相同(区分大小写)


推荐阅读