【问题标题】:How can I display all jobs and every job has it own company in one to many relationship in laravel?如何在 laravel 中以一对多关系显示所有工作并且每个工作都有自己的公司?
【发布时间】:2018-05-06 22:01:33
【问题描述】:

我尝试建立自己的项目,即在线求职网站。

我有两张表companyjob。表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');
​    ...

​ 我想显示所有工作,每个工作都有自己的公司,比如

  1. +在每个作业列表中必须有
    • 职位,
    • 截止日期,..和
    • 公司名称、徽标

控制器和视图中的代码是什么? 请帮忙!

【问题讨论】:

    标签: php laravel laravel-5 eloquent


    【解决方案1】:

    您只需访问 $job->company 即可访问职位的公司。您还可以通过预加载优化从数据库中获取数据:

    $jobs = Job::with('company')->get();
    
    foreach ($jobs as $job) {
      echo $job->title;
      echo $job->company->name;
    }
    

    【讨论】:

      【解决方案2】:

      控制器:

      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>
      

      【讨论】:

      • 此功能仅适用于工作表,感谢您的帮助。它适用于第一个答案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多