2017-10-09 12 views
0

私は私のクエリ.this Laravel 5.3を使用して、私は結果の配列に「children_rec」は「ノード」に名称変更します。雄弁に関係関数の名前を変更するにはどうすればいいですか?

$boxes = Boxes::with('children_rec') 
       ->whereNull('box_id') 
       ->with('position') 
       ->get() 
       ->toJson(128); 

UPDATE: 関係コード:

public function child() 
{ 
    return $this 
     ->hasMany('PTA_OIMS\Boxes', 'box_id'); 
} 

public function children_rec() 
{ 
    return $this->child() 
     ->with('children_rec') 
     ->with('position'); 
} 

おかげ

+0

リターン構造はどのようなものが見えますか?なぜあなたは配列を操作できないのですか? – tadman

+0

@tadman:結果構造ます。https://pastebin.com/NFfWS0s2 –

+0

関連するすべてのコードが含まれるようにあなたの質問を編集して、雑然とコメントとして追加しないでください。 – tadman

答えて

0

私はLaravelの関係をエイリアシングサポートしていないと思います。

あなたは自分の目的の名前にあなたの関係の名前を変更する必要があります。

public function node() 
{ 
    return $this->child() 
     ->with('node') 
     ->with('position'); 
} 

次に、あなたが好きそれを呼び出すことができます。

$boxes = Boxes::with('node') 
       ->whereNull('box_id') 
       ->with('position') 
       ->get() 
       ->toJson(128);