【问题标题】:Please help improve the data to be compiled [closed]请帮助改进要编译的数据[关闭]
【发布时间】:2018-05-17 15:32:05
【问题描述】:

我的表格数据如下:

在我的模型中:

<?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]);
    }
}

但我无法达到预期。

【问题讨论】:

  • 这个很不清楚,请考虑修改这个问题的细节。

标签: php laravel laravel-5


【解决方案1】:

我在我的模型中将$parents-&gt;push($parent); 更改为$parents-&gt;prepend($parent);,这个问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2010-09-18
    • 2011-09-11
    相关资源
    最近更新 更多