laravel - laravel (5.6) 中的隐式绑定返回一个空对象
问题描述
我正在尝试在控制器中使用“显示”方法,但是当它返回一个空对象时。
由于这种观点:
@foreach ($usuarios as $usuario2)
<h2>{{$usuario2->nombre}}</h2>
<a href="prurequests/{{$usuario2->id}}">ver mas2...</a>
@endforeach
通过tis路线:
Route::resource('/prurequests','PruebasControllers\PrurequestsController');
对此控制器的方法:
public function show(Usuario2 $usuario2) // Ruta con implicing biding
{
return $usuario2;
}
这是模型:
class Usuario2 extends Model
{
Protected $fillable = ['nombre'];
}
我试过这个并且它有效
看法:
@foreach ($usuarios as $usuario2)
<h2>{{$usuario2->nombre}}</h2>
<a href="impli/{{$usuario2->id}}">ver mas...</a>
<a href="prurequests/{{$usuario2->id}}">ver mas2...</a>
@endforeach
路线
Route::get('impli/{usuario2}', function
(fractalwebpage\PruebasModelos\Usuario2 $usuario2) {
return $usuario2;
});
它给我带来了数据,我不得不将模型的 nae 放入路径中。e 需要这样做,但要通过控制器。
解决方案
默认情况下,Laravel 使用 url 的最后一段作为资源路由请求的占位符,因此在你的控制器方法中,你可以注入你的模型,但名称不同public function show(Usuario2 $prurequests)
但更明确的解决方案是只更改路由定义中的参数
Route::resource('/prurequests','PruebasControllers\PrurequestsController', ['parameters' => ['prurequests' => 'usuario2']]);
这样,您可以继续按照当前的方式使用控制器
public function show(Usuario2 $usuario2) // Ruta con implicing biding
{
return $usuario2;
}
推荐阅读
- java - 可以从 gmail 发送电子邮件,但不能从 yahoo
- swift - UICollectionView 自调整大小的单元格
- java - 我正在使用 Chaquopy 交替使用 python 和 java。如何将自定义 java 对象传递给 python 模块的方法?
- kubernetes - 有什么方法可以解析从 /metrics 端点抓取的输出吗?
- apache-nifi - 在 NiFi 中如何裁剪图像?
- r - 如何计算R统计中的散点指数
- c++ - Hinnant 的 short_alloc 仅在堆栈上
- ionic-framework - ionic 4如何获取页面名称?
- redux-form - redux-form 没有在表单上调用 onSubmit
- javascript - 关闭选项卡时重定向?