php - 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)
这种类型的函数调用。我可以通过相同的方法检索用户数据。我无法弄清楚问题是什么。有没有人有办法解决吗?
解决方案
通过 uri中的 cmd 匹配大小写检查您的路线列表php artisan route:list --name=Model
,与您的 (Model $model) 相同,$model 应与 uri 中的 {model} 相同(区分大小写)
推荐阅读
- symfony - symfony 在设置数据后修改集合中的选择
- regex - 在多个重复字符串之间查找字符串
- javascript - 解析错误:意外的令牌 => 尝试部署 Firebase 云功能时。我在这里找不到任何答案
- python-3.x - 如何在尝试格式化变量时使用 .format() 说明符,例如 ,.2f?
- git - 在 bitbucket 中分叉
- r - 如何计算插入符号中的准确性和 kappa 的 95% CI
- flutter - 如何在 changenotifierprovider 中有多个提供者?
- python - 在python中删除带有条件的CSV行
- javascript - Javascript 代码使用单选按钮和 addlistener 和数组
- angular - Angular angular-auth-oidc-client identity4 SLO SSO 从所有客户端注销不工作