我正在建立一个新项目,并希望从传递的模型绑定控制器show方法中检索数据,但show view中的输出为空
型号:
class Content extends Model
{
protected $fillable = ['title','body'];
}
这是我的控制器:
public function show(Content $content)
{
return view('content.show',compact('content'));
}
这是我的索引:
@foreach ($content as $item)
<td>
<a class="btn btn-primary" href="{{ route('Content.show',$item) }}">View</a>
</td>
@endforeach
这是show方法,结果为空:
<div class="card-header">
{{ $content->title }}
</div>
<div class="card-body">
{{ $content->body }}
</div>
<div class="card-footer">
{{ $content->created_at }}
/div>
我希望在show方法中产生结果,因为一切都很好,但是我的问题不在哪里吗?
已更新:
答案 0 :(得分:0)
因为您尝试获取现在为$ item的$ content :)
<div class="card-header">
{{ $item->title }}
</div>
<div class="card-body">
{{ $item->body }}
</div>
<div class="card-footer">
{{ $item->created_at }}
</div>
答案 1 :(得分:0)
我找到了答案
我将路由资源从resource('Content','ContentController')更改为
resource('content','ContentController')并且问题已解决!
我不知道为什么!
答案 2 :(得分:0)
//used to show a list, like what you are trying to do
public function index()
{
$contents = Content::get();
return view('content.index',compact('contents'));
}
//used to show one item
public function show(Content $content)
{
return view('content.show',compact('content'));
}
如果您要遍历多个内容,那么您拥有的视图内容将起作用,否则,您会想要
{{ $content->title }}
</div>
<div class="card-body">
{{ $content->body }}
</div>
<div class="card-footer">
{{ $content->created_at }}
</div>```