yii2框架使用嵌套集合实现无限极商品分类
更新时间:2024-04-23 13:52:02 阅读量: 综合文库 文档下载
- yii2框架的优缺点推荐度:
- 相关推荐
让每一名学员高薪就业
1.使用composer安装nested_sets插件
composer require creocoder/yii2-nested-sets
2.创建商品分类表的数据迁移
yii migrate/create create_category_table 数据迁移类的内容如下:
$this->createTable('{{êtegory}}', [ 'id'=> $this->primaryKey(), 'tree' => $this->integer()->notNull(), 'lft'=> $this->integer()->notNull(), 'rgt'=> $this->integer()->notNull(), 'depth'=> $this->integer()->notNull(), 'name'=> $this->string()->notNull(), ]);
3.创建商品分类活动记录Category
usecreocoder\\nestedsets\\NestedSetsBehavior; class Category extends\\yii\\db\\ActiveRecord { publicfunctionbehaviors() { return [ 'tree'=> [
'class'=>NestedSetsBehavior::className(), 'treeAttribute' => 'tree', // 'leftAttribute' => 'lft', // 'rightAttribute' => 'rgt', // 'depthAttribute' => 'depth', ], ]; }
publicfunctiontransactions() { return [
self::SCENARIO_DEFAULT=>self::OP_ALL, ]; }
publicstaticfunctionfind() {
官网:www.itsource.cn 微信公众号:itsource
让
} }
每一名学员高薪就业
returnnew CategoryQuery(get_called_class());
4.创建分类查询器CategoryQuery
usecreocoder\\nestedsets\\NestedSetsQueryBehavior; class CategoryQueryextends\\yii\\db\\ActiveQuery { publicfunctionbehaviors() { return [
NestedSetsQueryBehavior::className(), ]; } }
5.如何使用
创建一级分类 创建家用电器分类
$category1 =new Category (['name'=>'家用电器']); $category1 ->makeRoot();
创建出来的树像下面这样
- 家用电器
创建子分类大家电
$category2 =new Category (['name'=>'大家电']); $category2 ->prependTo($category1);
结构如下
- 家用电器 - 大家电
获取所有一级分类
$roots = Category::find()->roots()->all();
官网:www.itsource.cn 微信公众号:itsource
让每一名学员高薪就业
获取所有子分类
$leaves = Category::find()->leaves()->all();
获取某分类的所有子孙分类
$category1 = Category::findOne(['name'=>'->leaves()->all();
家用电器']); $leaves = $category1
获取某节点的所有子分类
$category1 = Category::findOne(['name'=>'家用电器']); $children = $category1 ->children()->all();
获取某分类的第一个子分类
$category1 = Category::findOne(['name'=>'家用电器']); $children = $category1 ->children(1)->all();
获取某分类的所有父分类
$category2=
Category::findOne(['name'=>'
大
家
电
']);
$parents
=
$category2->parents()->all();
获取某分类的第一个父分类
$category2=
Category::findOne(['name'=>'
大
家
电
']);
$parent
=
$category2->parents(1)->one();
官网:www.itsource.cn 微信公众号:itsource
正在阅读:
王兆安第四版电力电子技术课后答案01-04
2022年全国安全生产月活动宣传标语07-31
现代文阅读 第二章 文学作品阅读 专题二 小说 考点针对练(一)04-09
C与C++经典面试题(内存泄露)10-08
那一次我笑了作文1000字07-01
ACCESS期末考试试卷11-26
善良的小男孩看图写话06-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 嵌套
- 框架
- 集合
- 实现
- 无限
- 使用
- 商品
- 分类
- yii2
- 电大期末考试网络实用技术基础复习资料总核 - 图文
- 济南市系统集成商名录2018版717家 - 图文
- 《集成电路设计基础1-5》复习题2006
- 突发事件自救互救课后习题
- 第六章(97)--不完全竞争
- 《会展客户关系管理》复习资料
- 大工13秋《acad船舶工程应用》在线作业1,2,3
- 全国中小学教师教育技术能力水平考试模拟试题1
- 济南产业结构分析
- 植物组织培养技术考试复习题
- JAVA练习题
- 人口与城市地理学试卷(后附答案)
- 最新教科版小学语文五年级下册《21世纪的能源》练习
- mtk开发可能用的到的东西
- 3.6数、幂函数、对数函数增长的比较高中数学(北师大版必修1)同步
- VWJ型振弦式裂缝计
- 环境监测考试试题10套
- 燃气输配设计说明书
- 2017 牛津译林英语 7B 语法专题一 基数词和序数词
- 2012—2013学年度上学期高三一轮复习地理单元验收试题(13)