簡體   English   中英

如何在 Laravel 中顯示屬於公司的所有工作

[英]How to display all Jobs that belongs to Company in Laravel

我只需要在公司/show.blade.php 中顯示屬於公司的工作

這是 CompanyController 中的 show 方法:

public function show(Company $company)
{
    $jobs = Job::where('company_id', $company->id)
        ->latest()
        ->get();
            
    return view('pages.companies.show', [
        'jobs' => $jobs
    ]);
}

這是 show.blade 中的 foreach:

@foreach($jobs as $job)
    <div class="col-12 col-md-5">
        <a href="/job/{{ $job->id }}"><h2>{{ $job->job_name }}</h2></a>
    </div>
    <div class="col-12 col-md-7">
        <p>{{ $job->description }}</p>
    </div>
@endforeach

但它不顯示任何東西。 錯在哪里?

首先,您定義了如下關系:

公司模式

public function jobs(){
    return $this->hasMany('App\Job');
}

工作模式

public function company(){
    return $this->belongsTo('App\Company');
}

控制器

public function show(Company $company)
{
    $jobs = $company->jobs;
    
    return view('pages.companies.show', [
        'jobs' => $jobs
    ]);
}

刀片視圖

@foreach($jobs as $job)
    <div class="col-12 col-md-5">
        <a href="/job/{{ $job->id }}"><h2>{{ $job->job_name }}</h2></a>
    </div>
    <div class="col-12 col-md-7">
        <p>{{ $job->description }}</p>
    </div>
@endforeach

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM