多对多可以使用all()来调用

对数据提供者进行修改

    /**
* Lists all ArticleCate models.
* @return mixed
*/
public function actionIndex()
{
$searchModel = new ArticleCateSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$dataProvider->setModels($this->getTree($dataProvider->getModels(), 0, 0));
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
} public function getTree($data, $pid, $level = 0)
{
$list = array();
foreach ($data as $k => $v) {
if ($v['parent_id'] == $pid) {
$v['name'] = '| — —' . str_repeat('| — —', $level) . $v['name'];
$list[] = $v;
$list = array_merge($list, self::getTree($data, $v['id'], $level + 1));
}
}
return $list;
}

yii2模型的更多相关文章

  1. Yii2模型介绍

    通过来说,我们可以把yii2中的Mdoel分为两种: 1)数据模型: 2)表单模型: 数据模型 数据模型关联数据表,用来实现对数据的操作; 一般数据模型放在common/models下: 表单模型 表 ...

  2. YII2 模型关联之 一对多

    需求,一个用户有多篇文章全部查询出来 文章表 用户表 //首先查找出一个用户出来 $user=Users::find()->'])->one(); //第一个参数还是关联的模型,第二个依旧 ...

  3. yii2 模块的创建及使用

    yii2 模型创建可以通过gii工具创建,方便快速yii2 可以在项目的根目录创建一个modules文件夹存放各个模块,当然,每个模块里还可以再创建模块 一.直接在项目根目录创建一个模块 看截图--& ...

  4. Yii 框架学习--01 框架入门

    Yii 是一个高性能的,适用于开发 WEB2.0 应用的 PHP 框架. Yii目前有两个主要的版本: 2.0 和 1.1.本文以YII 2.0.7为例. 环境需求 Yii2.0 框架有一些系统上的需 ...

  5. yii2-验证规则,rules,判断条件

    yii2模型的验证规则,简单的使用我就不详细说了,想看的可以去看官网教程http://www.yiichina.com/doc/guide/2.0/structure-models#validatio ...

  6. YII2框架动态创建表模型

    YII2框架动态创建表模型 在YII2中,每个表对应一个model类 在开发过程中,我们在填写一个大型表单的时候,表单里有N个select下拉列表,每个下拉select来自于不同的表: 如果要在程序里 ...

  7. Yii2给数据库表添加字段后对应模型无法识别到该属性的原因和解决办法

    Yii2给数据库表添加字段后对应模型无法识别到该属性的原因和解决办法 应为数据库表的结构被缓存了.删除runtime文件夹或者执行 //清理指定表结构缓存数据 Yii::$app->db-> ...

  8. yii2 刷新缓存(刷新模型缓存)

    Yii2开启表结构缓存,因为当运用模型(model)时,AR的一些公共属性都会从DB中获取,这样会导致服务器负担一些额外的资源开销,实际上对于成品来说,服务器这些开始销是多余的,故应该阻止这种默认行为 ...

  9. yii2 AR模型使用exists添加子查询与父查询关联

    有A,B两个表对应A_AR,B_AR两个模型B表interval_id对应A表id现在要查a表的数据,且没有code为a的子数据要求使用yii2的AR模型写查询: A_AR::find()->w ...

随机推荐

  1. 在eclipse中JS页面创建后<%@ page此处就马上就报错

    修改路径:右键点击创建的jsp页面--->Build Path--->Configure Build Path---> Libraries--->Add Libraries-- ...

  2. 将smarty安装到MVC架构中

    首先是composer.json { "require": { "smarty/smarty": "^3.1" }, // 自动加载 // ...

  3. 复原IP地址

    这道题有点不好理解 export default (str) => { // 保存所有符合条件的IP地址 let r = [] // 分四步递归处理ip分段 let search = (cur, ...

  4. Java中的isEmpty方法、null以及""的区别

    本文转自:https://blog.csdn.net/peng86788/article/details/80885814 这是一个比较容易混淆的概念,为了弄清楚这个问题,最好的方法当然是写程序来验证 ...

  5. [PAT] A1019 General Palindromic Number

    [题目] https://pintia.cn/problem-sets/994805342720868352/problems/994805487143337984 题目大意:给定一个N和b,求N在b ...

  6. c++ md5算法实现(转)

    原文链接:C++计算文件的MD5值 其他:c++输入文件流ifstream用法详解

  7. 多项式对数函数 - NTT

    #include <bits/stdc++.h> using namespace std; #define int long long const int N=4000005; // 4 ...

  8. php 获取header信息

    nginx服务器获取header信息: 如:获取token: $_SERVER['HTTP_TOKEN']; 获取自定义的参数采用$_SERVER['参数名'] Apache服务器获取header信息 ...

  9. DataGrid 的DataSource重新加载数据

    DataGrid 的DataSource重新加载数据,若直接重新给DataSource赋值是没有效果的,若只是修改原有数据中的单个值,此方法有效,但是针对完全不一样的数据直接重新赋值的方式是无效的,此 ...

  10. redis五大数据类型以及常用操作命令

    Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...