簡體   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