繁体   English   中英

如何从laravel雄辩的三个表中获取记录

[英]How to fetch record from three table in laravel eloquent

我有四个桌子

jobposts

id | user_id | cat_id | job_title

1  |   1     |   1    | job 1
2  |   1     |   2    | job 2
3  |   2     |   3    | job 3
4  |   1     |   3    | job 4

categorymasters

id | category_name

1  |   cat1 
2  |   cat2  
3  |   cat3  
4  |   cat4  

lastsubcategoryselectedbycompanies

id | jobposts_id | lastsubcategorymasters_id

1  |   1     |   1 
2  |   1     |   2 
3  |   2     |   3  
4  |   1     |   3  

lastsubcategorymasters

id | LastSubCategoryName

1  |   lastsubcat1  
2  |   lastsubcat2  
3  |   lastsubcat3  
4  |   lastsubcat4   
  • jobposts具有唯一的行。
  • lastsubcategoryselectedbycompaniesjobpostslastsubcategorymasters的映射。

现在,假设某些用户使用其凭据登录(例如: jobposts user_id 1)。 现在,我需要在lastsubcategorymasters表中以逗号分隔的列表中显示LastSubCategoryName ,并按jobpostslastsubcategoryselectedbycompanieslastsubcategorymasters表进行分组。

allpostedjob.blade.php是:

@foreach($jobposteddetails as $jobposteddetail)
    <tr>
     <td>{{ $jobposteddetail->job_title }}</td>
    </tr>
@endforeach

cotroller是:

public function index()
    {
        $user = Auth::user();
        $jobposteddetails = jobpost::with('categorymaster')->where('user_id', '=', $user->id)->get();
        return view('jobprovider.allpostedjob', compact('user','jobposteddetails'));
    }

jobpost.php模型是:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class jobpost extends Model
{
    function categorymaster()
     {
          return $this->belongsTo(categorymaster::class, 'cat_id');
     }
}

它工作正常。

但我也需要显示LastSubCategoryName由表分组jobpostslastsubcategoryselectedbycompanieslastsubcategorymasters

function lastsubcategory()
     {
          return $this->belongsTo(lastsubcategoryselectedbycompanies::class);
     }

它不起作用。 如何获取结果?

我不太擅长运用复杂的查询,我更喜欢将DB查询构建器与join方法一起使用

https://laravel.com/docs/5.8/queries

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM