gpt4 book ai didi

php - Laravel 4.2 查询三张表之间的问题

转载 作者:行者123 更新时间:2023-11-28 23:59:51 25 4
gpt4 key购买 nike

数据库表是

employers                        
id | username | password

jobdetails
id | employer_id | title

empcompanies
id | employer_id | company_name

JobDetail.php//模型

public function employer()
{
return $this->belongsTo('Employer');
}

EmpCompany.php//模型

public function employer()
{
return $this->belongsTo('Employer');
}

Employer.php//模型

public function empcompany()
{
return $this->belongsTo('EmpCompany');
}

public function jobdetails()
{
return $this->belongsToMany('JobDetail');
}

// Controller 文件

public function getApplyJobs($id)
{
$jobs = JobDetail::where('id', '=', $id)->get();
return View::make('home.apply')->with(compact('jobs'));
}

//查看.blade.php 文件

@foreach($jobs as $job)
@foreach($job->empcompany() as $emp)
<td {{ $emp->company_name }}</td>
@endforeach
@endforeach

//这里 $id 是 jobdetails id,它可以工作并从 jobdetails 表中获取所有数据。我的问题是 - 如何显示 empcompanies 的 company_name。我试过这些代码,但它不显示公司名称,它显示空白。我正在使用 Laravel4.2 请帮助..

最佳答案

如果我没记错,这一定是你的答案:

在你的JobDetails.php//模型

public function empcompany()
{
return $this->belongsTo('EmpCompany','employer_id','employer_id');
}

并在您的 EmpCompany.php//模型中

public function jobdetails()
{
return $this->hasMany('JobDetail','employer_id','employer_id');
}

// Controller 文件

$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

尝试这个希望它有效

关于php - Laravel 4.2 查询三张表之间的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30275316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com