2017-12-04 41 views
-6

をコンパイルするデータの改善を支援してください:私のモデルではtable次のように私は、テーブルのデータを持っている

を:

私のコントローラで
<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Category extends Model 
{ 
    protected $table = 'categories'; 

    /** 
    * The attributes that are mass assignable. 
    * 
    * @var array 
    */ 
    protected $fillable = [ 
     'parent_id', 'name', 'url', 'description', 'sort_order', 
    ]; 

    public function parent() 
    { 
     return $this->belongsTo('App\Category', 'parent_id'); 
    } 

    public function children() 
    { 
     return $this->hasMany('App\Category', 'parent_id'); 
    } 

    public function getParentsAttribute() 
    { 
     $parents = collect([]); 

     $parent = $this->parent; 

     while (!is_null($parent)) { 
      $parents->push($parent); 
      $parent = $parent->parent; 
     } 

     return $parents->implode('name', ' > '); 
    } 
} 

<?php 

namespace App\Http\Controllers; 

use App\Category; 
use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 

class CategoryController extends Controller 
{ 
    public function __construct() 
    { 
     $this->middleware('auth'); 
    } 

    public function listCategory() 
    { 
     $categories = Category::orderBy('sort_order')->get(); 
     // dd($categories); 

     return view('catalog.category.list', ['categories' => $categories]); 
    } 
} 

output table

しかし、私は期待に合っていません。

+0

これは非常に不明です。この質問の詳細を改訂することを検討してください。 –

答えて

-1

私のモデルで$parents->push($parent);から$parents->prepend($parent);に変更しました。この問題は解決しました。

関連する問題