私はEloquentにはかなり新しく、何かの周りに頭を抱える問題があります。再帰的子コールから特定の列を選択するには
基本的に私は同じテーブル内の子を再帰的につかんでいるテーブルを持っています。
public function children() {
return $this->hasMany(static::class, 'parent_org_id');
}
public function childrenRec()
{
return $this->children()->with('childrenRec');
}
childrenRecは「parent_org_id」
私は、静的関数で、次からそれを呼んでいる今のように私が唯一IDを望むに基づいて、すべての子どもたちへの再帰呼び出しがある
と組織最上位組織をつかんされ
self::select('id','name_en')->where('parent_org_id','=',0)->with('childrenRec')->get()->toArray();
(私のトップレベルのname_enの組織は、のparent_org_idの0を有する)。
私の問題は、再帰的につかんで子供たちにそれがIDにそれを制限するものではありません。また、name_en
私の質問は、に帰着点である:私は私の再帰から特定の列のみを選択することができますどのように 子供の呼び出し、同様にこれは物事を行うための '適切な'方法ですか?
返される配列は次のようになります。
array:1 [▼
0 => array:4 [▼
"id" => 1
"name_en" => "Org Unit"
"org_type" => null
"children_rec" => array:2 [▼
0 => array:27 [▼
"id" => 2
"name_en" => "My First Orgunit."
"code" => null
"abbreviation" => null
"address1" => "222 Street Street"
"address2" => null
"city_id" => 1
"province_id" => 14
"postalcode" => "C161L7"
"country_id" => 38
"contact_name" => null
"contact_title" => null
"email" => "[email protected]"
"fax" => "902-555-5555"
"phone1" => "5125125125125"
"phone2" => null
"org_type_id" => 1
"parent_org_id" => 1
"ref_id" => 79
"has_users" => 1
"created_at" => "2016-11-02 18:47:55"
"updated_at" => "2016-11-02 18:47:55"
"org_type" => array:4 [▶]
"children_rec" => array:1 [▶]
]
1 => array:27 [▶]
]
]
]
ありがとうございます。
ありがとうございました!私は以前これを試していましたが、私は決して 'parent_org_id'を私の質問選択に入れませんでした。それはうまくいきませんでした! もう一度ありがとうございます。 – Crawdingle