Maison >cadre php >Laravel >Comment le framework Laravel implémente-t-il la classification infinie ?

Comment le framework Laravel implémente-t-il la classification infinie ?

藏色散人
藏色散人avant
2020-07-22 13:58:193313parcourir

La colonne tutorielle suivante de Laravel vous présentera la méthode d'implémentation de la classification Infinitus dans le framework Laravel. J'espère qu'elle sera utile aux amis dans le besoin !

Comment le framework Laravel implémente-t-il la classification infinie ?

J'ai récemment développé des fonctions de produit.Après avoir essayé les méthodes de récursivité 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, et Infinitus. Bonnes pratiques de classification. Code ouvert à partager avec tous ! 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='商品分类表';

Stockage des données format :

Comment le framework Laravel implémente-t-il la classification infinie ?

Code entreprise :

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

    public function allChildren() {
        return $this->children()->with( 'allChildren' );
    }
rrree

Traitement des données Post :

Comment le framework Laravel implémente-t-il la classification infinie ?

À ce stade, le framework laravel Infinitus a été implémenté. Par rapport aux deux méthodes de récursivité et de référence pour implémenter la classification Infinitus, est-ce beaucoup plus simple et plus efficace ? Eh bien, 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer