我试图在控制器中使用方法'show',但是当它返回一个空对象时 .
由于这个观点:
@foreach ($usuarios as $usuario2)
<h2>{{$usuario2->nombre}}</h2>
<a href="prurequests/{{$usuario2->id}}">ver mas2...</a>
@endforeach
通过这条路线:
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放在路线上 . 我需要通过控制器来做到这一点 .
2 回答
默认情况下,Laravel使用url的最后一段作为资源路由请求的占位符,因此在您的控制器方法中,您可以注入模型,但使用不同的名称
public function show(Usuario2 $prurequests)
但更明确的解决方案是只更改路径定义中的参数
这样,您可以按照当前的方式继续使用控制器
当您尝试在资源控制器中进行隐式绑定时,则在创建资源控制器时,您必须添加
--model
选项查看详情https://laravel.com/docs/5.6/controllers#resource-controllers