Maison > cadre php > Laravel > Comment implémenter une classification infinie dans Laravel

Comment implémenter une classification infinie dans Laravel

藏色散人
Libérer: 2020-11-16 13:43:55
avant
2236 Les gens l'ont consulté
Ce qui suit est

Laravel La colonne tutoriel présentera à Laravel comment obtenir une classification de pôles infinie, j'espère que cela sera utile aux amis dans le besoin !

J'ai récemment développé des fonctions de produit. Après avoir essayé les méthodes de récursion et de référence, j'ai soudainement regardé en arrière et découvert que le framework laravel avait une méthode d'implémentation plus simple et plus efficace, des meilleures pratiques de classification Infinitus, un code ouvert à partager avec tout le monde. ! Marquez si vous êtes intéressé, merci~

La structure du tableau est la suivante :
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='商品分类表';
Copier après la connexion

Format de stockage des données :

Comment implémenter une classification infinie dans Laravel

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

    public function allChildren() {
        return $this->children()->with( 'allChildren' );
    }
Copier après la connexion
rrree

Données traitées :

Comment implémenter une classification infinie dans Laravel

À ce point, laravel Le framework de classification Infinitus a été implémenté. Par rapport aux deux méthodes de récursion et de référence pour implémenter la classification Infinitus, est-ce beaucoup plus simple et plus efficace. Pour plus de fonctionnalités de laravel, veuillez laisser un message dans la zone de commentaire pour en discuter.

                                                                                                                                                                                                                

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal