Laravel 无限分类问题

Perfect丶戈

你都知道git 有无限极分类了不去试试?

public function cate_list()
    {

        $list = ArticleCate::getNestedList('name');


        return view('admin.article_cate.cate_list')->with('list',$list);
    }

    /**
     * 添加
     */
    public function cate_new()
    {
        $list = ArticleCate::getNestedList('name','id','-');
        return view('admin.article_cate.cate_new')->with('list',$list);
    }

    /**
     * 添加post
     */
    public function cate_store(Request $request)
    {
        $data = $request->all();
        if ($data['cate'] == 0) {
            $root = ArticleCate::create(['name'=>$data['name']]);
        } else {
            $child = ArticleCate::create(['name'=>$data['name']]);
            $child->makeChildOf($data['cate']);
        }
    }

    /**
     * 更新
     */
    public function cate_edit($id)
    {
        $cate_info = ArticleCate::findOrFail($id);
        $list = ArticleCate::getNestedList('name','id','-');
        return view('admin.article_cate.cate_edit',compact('cate_info','list'));
    }

    /**
     * 修改时
     * 1,父类分类选了自己的子级
     * isAncestorOf();如果node是另一个的祖先,则返回true。
     * 2,修改是不能选择自己分类
     * equals();当前节点实例等于另一个。
     *
     */
    public function cate_update(Request $request, $id)
    {
        $data = $request->all();
        $demons = ArticleCate::findOrFail($id);
        $update_data = [
          'name'    =>  $data['name']
        ];
        if ($data['cate'] == 0) {
            $demons->makeRoot();
            $demons->update($update_data);
        } else {
            $root = ArticleCate::findOrFail($data['cate']);
            $condition_one = $demons->isAncestorOf($root);
            $condition_two = $demons->equals($root);
            if ($condition_one || $condition_two) {
                return "no";
            }
            $demons->makeChildOf($data['cate']);
            $demons->update($update_data);
        }
    }

    /**
     * @param $id
     * 删除时如果分类还有子类不能删除
     * getDescendants():检索其所有的孩子和嵌套的孩子。
     * 分类删除
     */
    public function cate_delete($id)
    {
        $root = ArticleCate::findOrFail($id);
        $list = $root->getDescendants()->toArray();
        if (!empty($list)) {
            return "no delete!";
        }
        $root->delete();
    }
假如_丶 回复 Perfect丶戈

这位仁兄有些问题希望能看下

// 拼接下排序居然报错...Call to undefined method Baum\Extensions\Query\Builder::getNestedList()
return Category::orderBy('order', 'asc')->getNestedList('name', 'id', ' - ');

比如说用你的cate_list方法,仅返回了name,然后我加入其他的信息结果就废掉了…

Perfect丶戈 回复 假如_丶

排序的应该是设置固定的~
你看你发的链接:
protected $orderColumn = 'name';

假如_丶 回复 Perfect丶戈

好的~谢谢!!

爱哪无忧又 回复 假如_丶

在这看到你了

假如_丶 回复 爱哪无忧又

哈哈哈哈哈~~~