我尝试构建自己的项目,这是工作在线网站。
我有两个表company
和job
.Table company
可以有许多工作关系
这是关系
//company.php
public function jobs(){
return $this->hasMany(Job::class);
}
//job.php
public function company(){
return $this->belongsTo(Company::class);
}
我的桌子
Schema::create('companies', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->string('companyName');
$table->string('logo')->nullable();
$table->string('contactPerson');
$table->string('employeeSize');
...
Schema::create('jobs', function (Blueprint $table) {
$table->increments('id');
$table->integer('company_id');
$table->string('jobTitle');
$table->longText('jobDescription');
$table->longText('jobRequirement');
$table->date('deadline');
...
我想展示所有工作,每个工作都有自己的公司,例如
- 在工作的每个列表中都必须有
- Jobtitle,
- 截止日期,..和
- 公司名称,徽标
控制器中的代码是什么?请帮助!
您只需访问 $ job-> Company 即可访问Job的公司。您还可以通过急切的加载优化数据库中的数据:
$jobs = Job::with('company')->get();
foreach ($jobs as $job) {
echo $job->title;
echo $job->company->name;
}
控制器:
public function index()
{
$jobs = Job::all();
return view('index', compact('jobs'))
}
查看:
<ul>
@foreach($jobs as $job)
<li>{{$job->jobTitle}}</li>
<li>{{$job->deadline}}</li>
<li>{{$job->company->companyName}}</li>
<li>{{$job->company->logo}}</li>
@endforeach
</ul>