2017-07-28 4 views
1

カテゴリテーブルがあり、'parent_id''categoryid'で構成されています。私はそれをリストで整理する必要があります。リストでは、親クラスを娘クラスとグループ化します。laravelで2つのforeachsを使用するには?

私はこのコードを作成しました。

コントローラでは、カテゴリの値を取得します。

public function index() 
    { 
     $cat1 = Category::where('erp_parentid', '=', 0)->get(); 
     foreach($cat1 as $categoria1){ 
     $cat2 = Category::where('erp_parentid', '=', $categoria1->erp_categoryid)->get(); 
     return view('admin.categories')->with('cat1', $cat1)->with('cat2', $cat2); 
     } 
    } 

$cat2私は親カテゴリのcategoryidを通じてその値を取得し、子カテゴリです。

しかし、値をビューに渡すと、すべての親カテゴリは最初のものと同じ値になります。

enter image description here 私は、ビュー内の値を表示するには、そのコードを使用:

<div class="container"> 
    <div class="row"> 
    <ul class="list-group"> 
     @foreach($cat1 as $value) 
     <a data-toggle="collapse" data-target="#catfilha{{$value->erp_categoryid}}"><li class="list-group-item">{{$value->erp_name}}</li></a> 
     <ul id="catfilha{{$value->erp_categoryid}}" class="collapse"> 
     @foreach($cat2 as $value2) 
     <li>{{$value2->erp_name}}</li> 
     @endforeach 
     </ul> 
     @endforeach 
    </ul> 
    </div> 
</div> 

私は、サイト上でここに似たようなケースを探し、しかし、任意の提案を全く似ていませんか?前もって感謝します。

答えて

2

モデル内の関係を定義し、ビューで呼び出す必要があります。カテゴリーのモデルでは

:このような何かを試してみてくださいコントローラで

public function getParent() 
{ 
    return self::where('erp_parentid', '=', $this->erp_categoryid)->get(); 
} 

:ビューで

public function index() 
{ 
    $cat1 = Category::where('erp_parentid', '=', 0)->get(); 
    return view('admin.categories')->with('cat1', $cat1); 
} 

:あなたのコードで

<div class="container"> 
    <div class="row"> 
    <ul class="list-group"> 
     @foreach($cat1 as $value) 
     <a data-toggle="collapse" data-target="#catfilha{{$value->erp_categoryid}}"><li class="list-group-item">{{$value->erp_name}}</li></a> 
     <ul id="catfilha{{$value->erp_categoryid}}" class="collapse"> 
     @foreach($value->getParent() as $value2) 
     <li>{{$value2->erp_name}}</li> 
     @endforeach 
     </ul> 
     @endforeach 
    </ul> 
    </div> 
</div> 

を、return文は、内部にありますループがあるので、cat2は常にcat1の最初の項目のカテゴリになります。

+0

完璧に働いてくれてありがとう! –

+0

私はそれが助けてうれしい! :) – Laerte

関連する問題