数据库表
employers
id | username | password
jobdetails
id | employer_id | title
empcompanies
id | employer_id | company_name
JobDetail.php // model
public function employer()
{
return $this->belongsTo('Employer');
}
EmpCompany.php // model
public function employer()
{
return $this->belongsTo('Employer');
}
Employer.php // model
public function empcompany()
{
return $this->belongsTo('EmpCompany');
}
public function jobdetails()
{
return $this->belongsToMany('JobDetail');
}
//控制器文件
public function getApplyJobs($id)
{
$jobs = JobDetail::where('id', '=', $id)->get();
return View::make('home.apply')->with(compact('jobs'));
}
// view.blade.php文件
@foreach($jobs as $job)
@foreach($job->empcompany() as $emp)
<td {{ $emp->company_name }}</td>
@endforeach
@endforeach
//这里$ id是jobdetails id,它工作并从jobdetails表中获取所有数据。我的问题是 - 如何从emp公司展示company_name。我尝试了这些代码,但它没有显示company_name,它显示为空白。我正在使用Laravel4.2请帮助..
答案 0 :(得分:1)
如果我没有弄错,那一定是你的答案:
JobDetails.php //型号中的
public function empcompany()
{
return $this->belongsTo('EmpCompany','employer_id','employer_id');
}
并在 EmpCompany.php // model
中public function jobdetails()
{
return $this->hasMany('JobDetail','employer_id','employer_id');
}
// 控制器文件
$jobs = JobDetail::where('id','=',$id)->with('empcompany')->get();
return View::make('view')->with('jobs',$jobs);
和 view.blade.php
@foreach($jobs as $job)
<td>{{$job->empcompany->company_name}}</td>
@endforeach
试试希望它有效
答案 1 :(得分:0)
你的控制器功能应该是
len(self._data)
然后使用
进行迭代public function getApplyJobs($id)
{
$jobs = JobDetail::where('id', '=', $id)->with('empcompanies')->get();
return View::make('home.apply')->with(compact('jobs'));
}
还确保你在表格中有正确的关系,我没有看到你的模特,因为我相信这些很好