2016-10-28 98 views
1

我想打在同一個表的關係,但我不知道這是可能的......Laravel 5.3屬於關聯關係,沒有顯示出結果

我有一個表工作與領域id,nameparent_id。我想得到一些工作和他們的父母(如果他們有父母,還有他們自己的父母等)。

這裏是我的模型:

class Job extends Model 
{ 
    public function jobParent() 
    { 
     return $this->belongsTo('App\Job', 'parent_id'); 
    } 
} 

在我的控制器中我做到這一點:

$select = Job::take(10) 
       ->with('jobParent') 
       ->get(); 

我顯示的查詢,我可以看到一個用於關係:

選擇*來自哪裏的工作id(?,?,?)

我有3個父母爲我的10個工作,所以它看起來是正確的,但它返回父:null爲我的每個工作...

你看到我失蹤?


我說這個了我的請求,因爲我也希望父的父:

->with(['jobParent' => function($query) { 
    $query->with('jobParent'); 
}]); 

我可以看到這兩個查詢它確實是這樣的作品,它只是不顯示! (?,?,?)(?)

SELECT * FROM工作崗位,其中在ID

SELECT * FROM工作崗位,其中在ID

我輸出我的結果是這樣的:

$return = [ 
    'success' => 1, 
    'totalCount' => $totalCount, 
    'nextOffset' => $offset+$nb, 
    'jobs' => $jobs 
]; 
$code = 200; 
return response()->json($return, $code); 

至極給了我這樣的:

{ 「成功」:1, 「TOTALCOUNT」:10706, 「nextOffset」:10, 「工作」:[ { 「名稱」: 「XXX」, 「PARENT_ID」:15, 「job_parent 「:空 },...

我試圖做($求職> jobParent)我工作的一個foreach和的var_dump但它說NULL以及...

我只是不明白爲什麼它不存儲結果...

+0

做的一項工作可以有多個父母的工作?我的意思是,這種工作是一對多還是一對一的關係? – GiuServ

+0

工作只有一位家長,但家長有幾個孩子。 – JGL

+0

你可以用' - >用'('job.parent_id')'而不是jobParent來試試嗎? – GiuServ

回答

0

我想通了:job.id是一個字符串,我鑄造它在我的模型,它工作正常:

protected $casts = ['id' => 'string'];