Laravel에서 무한 분류를 구현하는 방법

藏色散人
풀어 주다: 2020-11-16 13:43:55
앞으로
2190명이 탐색했습니다.

튜토리얼 칼럼입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다! 최근에 제품 기능을 개발한 후, 갑자기 뒤돌아보니 laravel 프레임워크가 더 간단하고 효율적인 구현 방법인 Infinitus 분류 모범 사례, 모두와 공유할 수 있는 공개 코드가 있다는 것을 알게 되었습니다! 관심있으시면 표시해 주세요~

테이블 구조는 다음과 같습니다.

CREATE TABLE `goods_category` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(500) DEFAULT '' COMMENT '分类名称',
  `pid` int(5) unsigned DEFAULT '0' COMMENT '父级id',
  `level` tinyint(3) unsigned DEFAULT '1' COMMENT '分类等级',
  `status` tinyint(3) unsigned DEFAULT '0' COMMENT '分类状态:0-禁用,1-正常',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `status` (`status`)) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COMMENT='商品分类表';
로그인 후 복사

데이터 저장 형식:

Laravel에서 무한 분류를 구현하는 방법비즈니스 코드:

    // 模型文件
    public function children() {
        return $this->hasMany(get_class($this), 'pid' ,'id');
    }

    public function allChildren() {
        return $this->children()->with( 'allChildren' );
    }
로그인 후 복사
// 控制器$list = GoodsCategory::with('allChildren')->first();dd($list);
로그인 후 복사

처리된 데이터:

이상입니다. laravel 프레임워크 Infinitus 분류가 구현되었습니다. Infinitus 분류를 구현하는 두 가지 재귀 및 참조 방법과 비교하면 훨씬 간단하고 효율적일까요? 더 많은 laravel 기능을 원하시면 댓글 영역에 메시지를 남겨주세요. ㅋㅋㅋ

위 내용은 Laravel에서 무한 분류를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿