inc*_*ick 5 php laravel laravel-5
我的控制器中有两种方法.第一个被调用uploads,它显示数据库表中的所有记录,它看起来像这样:
public function uploads()
{
//return Upload::all();
$uploads = Upload::all();
return view('uploads')->with('uploads',$uploads);
}
Run Code Online (Sandbox Code Playgroud)
此功能正常运行,并且在我的视图中成功检索了所有记录.
问题在于第二种方法upload,其目的是在从上载列表中单击其名称时显示单个上载的数据.
目前,我有这个:
public function upload($id)
{
return Upload::find($id);
}
Run Code Online (Sandbox Code Playgroud)
而且我不确定如何完成此功能.
我的观点看起来像这样:
@extends('layouts.app')
@section('content')
<h1>Uploads</h1>
@if(count($uploads)>0)
@foreach($uploads as $upload)
<div class="well">
<h3><a href="/uploads/{{$upload->id}}">{{$upload->name}}</a> </h3>
<small>Written on {{$upload->created_at}}</small>
</div>
@endforeach
@else
<p>No uploads found</p>
@endif
@endsection
Run Code Online (Sandbox Code Playgroud)
我不太确定要放什么web.php,所以我的路线看起来像这样:
Route::get('/uploads', function () {
return view('uploads');
});
Auth::routes();
Route::get('/uploads','UploadController@uploads')->name('uploads');
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我做这项工作吗?我只想在单击上传名称时看到关联数组与数据库中的记录.在路线和视图中我需要添加什么?
// Controller
public function uploads()
{
$uploads = Upload::all();
return view('uploads')->with('uploads', $uploads);
}
Run Code Online (Sandbox Code Playgroud)
您可以在此处使用 Laravel IOC 容器,并让 Laravel 在控制器操作中传递正确的 Upload。
public function showUploadDetail(Upload $upload)
{
return view('uploadDetail')->with('upload', $upload);
}
Run Code Online (Sandbox Code Playgroud)
创建一个新的刀片文件,uploadDetail.blade.php并使用示例内容调用:
@extends('layouts.app')
@section('content')
<h1>Upload Detail</h1>
<p>ID: {{ $upload->id }}</p>
@endsection
Run Code Online (Sandbox Code Playgroud)
正如fil已经提到的,将您的路线调整为:
Route::get('/upload/{id}', 'UploadController@upload')->name('upload');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2295 次 |
| 最近记录: |