我想从listProjectsView传递项目ID(列表中的pid)并显示在detailedView页面中。但是找不到详细的View页面和listProjects的未定义变量的错误消息页面。有人可以帮助我吗
这是我的listProjects.blade.php文件
@foreach($data as $row)
<div class="panel panel-default event">
<div class="panel-body">
<div class="rsvp col-xs-2 col-sm-2">
<div class="profile-image">
<img src="http://api.randomuser.me/portraits/med/men/71.jpg"/>
</div>
<div class="hidden-xs">
<span class="fa fa-thumbs-up fa-2x"></span>
<span class="fa fa-thumbs-down fa-2x"></span>
</div>
</div>
<div class="info col-xs-9 col-sm-8">
{{$row->ptitle}}
<div>
{{$row->pdescription}}
</div>
<div class="profile hidden-xs">
Project Start date - {{$row->psdate}}
</div>
<div class="links hidden-sm">
<a href="{{ url('projects/detailedProject/'. $projects->pid )}}"><i class="glyphicon glyphicon-chevron-right col-xs-3"></i></a>
</div>
</div>
<div class="author col-xs-1 col-sm-2">
<div class="profile-image">
<img src="http://api.randomuser.me/portraits/med/men/71.jpg"/>
</div>
<div class="profile hidden-xs">
<li>Project Start date <br> {{$row->psdate}}</li>
</div>
</div>
</div>
</div>
@endforeach
这是我的detailevView.blade.php文件
@foreach($data as $row)
<ul>
<h2>Project Details</h2>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-3">
<label>Project Title </label>
</div>
<div class="col-lg-9 col-md-9 col-sm-9">
<label> {{$row->ptitle}}</label>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-3">
<label>Project Description</label>
</div>
<div class="col-lg-9 col-md-9 col-sm-9">
<label> {{$row->pdescription}}</label>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-3">
<label>Project Duration</label>
</div>
<div class="col-lg-9 col-md-9 col-sm-9">
<label> {{$row->pduration}}</label>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-3">
<label>Project Start Date</label>
</div>
<div class="col-lg-9 col-md-9 col-sm-9">
<label> {{$row->psdate}}</label>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-3">
<label>Project End Date</label>
</div>
<div class="col-lg-9 col-md-9 col-sm-9">
<label> {{$row->pedate}}</label>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-3">
<label>Project Category</label>
</div>
<div class="col-lg-9 col-md-9 col-sm-9">
<label> {{$row->pcategory}} </label>
</div>
</div>
</ul>
@endforeach
我的ProjectController
class ProjectController extends Controller
{
public function getCreateProject()
{
return view ('projects.createProject');
}
public function postCreateProject(Request $request)
{
$this->validate($request, [
'ptitle' => 'required|max:200',
'pdescription' => 'required',
'etitle' => 'required|max:200',
'edetails' => 'required',
'dtotal' => 'required',
'oposition' => 'required|max:100',
'odescription' => 'required',
]);
$project = Project::create( $request->only(['ptitle', 'pdescription', 'pduration', 'psdate', 'pedate', 'pcategory', 'pimage']));
$project->events()->create($request->only(['etitle', 'edetails', 'edate', 'etime', 'elocation', 'eimage']));
$project->donations()->create($request->only(['dtotal', 'dinhand', 'dbankaccount']));
$project->opportunities()->create($request->only(['oposition', 'odescription', 'olocation', 'odeadline']));
return redirect()
->route('home', $project->pid)
->with('info', 'Your project has been created.');
}
public function getListProjects()
{
$data=Project::all();
return view('projects.listProjects')->withProject($data);
}
public function postListProjects()
{
dd('Hi there');
}
public function getDetailedProject()
{
$data = Project::find($id);
return view('projects/detailedView')->withProject($data);
}
}
路线档案
/* List all the projects */
Route::get('/listProjects', [
'uses'=> '\Ngovol\Http\Controllers\ProjectController@getListProjects',
'as' => 'projects.listProjects',
]);
Route::get('/projects/detailedProject/{pid}', 'ProjectController@getDetailedProject');
答案 0 :(得分:0)
您似乎需要将$projects->pid
更改为$row->pid
。
<a href="{{ url('projects/detailedProject/'. $row->pid )}}"><i class="glyphicon glyphicon-chevron-right col-xs-3"></i></a>
您可能还想考虑使用命名路由和route()
方法。
Route::get('projects/detailedProject/{pid}', 'ProjectController@getDetailedProject')->name('project.detailed');
<a href="{{ route('project.detailed', [$row->pid]) }}"><i class="glyphicon glyphicon-chevron-right col-xs-3"></i></a>