21.Yii2.0框架多表关联一对多查询之性能优化--模型的使用

控制器里

    //关联查询
    public function actionRelatesearch(){
        //关联查询
        //查询方法一(查一行) 一维数组下的值是obj
        $category = Category::findOne(1); //查分类表里的数据 abj
//        $categoryarr = $category->attributes; //获取某一行的分类结果里的对象属性,array
        //查文章里的cid等于2的 拿上面的结果 $categoryarr[‘cid‘]=2 作为本次查询的条件
//        $article = Article::find()->asArray()->where([‘cid‘=>$categoryarr[‘cid‘]])->all();

        //使用模板里的方法
//        $articles = $category->getArticles(); //模型里要加->all()
        $articles = $category->articles;  //模型里可以不加all(),会自动调用all()方法
        dd($articles);
    }

模型里

<?php
namespace app\models;

use yii\db\ActiveRecord;

class Category extends ActiveRecord
{
    public function getArticles()
    {
//        return $this->hasMany(Article::className(),[‘cate_id‘=>‘cid‘])->asArray()->all();
        //会自动调用all()方法
        return $this->hasMany(Article::className(),[‘cate_id‘=>‘cid‘])->asArray();

    }
}

原文地址:https://www.cnblogs.com/haima/p/9602426.html

时间: 2024-10-09 12:08:29

21.Yii2.0框架多表关联一对多查询之性能优化--模型的使用的相关文章

yii2.0框架安装心得

yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到composer,没有办法拉,先去大概的了解一下这个composer吧 什么是composer 根据composer的官网,它是这样解释的:composer是php用来管理依赖关系的工具,搞的这么复杂,直接说就是一个比较智能的下载工具不就好了.比如说我的项目是依赖yii框架的,而yii是依赖于其他东西的

学习yii2.0框架(一)

Yii 是什么 Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序.名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写. Yii 最适合做什么? Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用.因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应用,如门户网站.社区.内容管理系统(CMS).电子商务项目和 RESTful Web 服务等. 系统要求 Yi

yii2.0 框架 载入 PHPExcel 类

我用的是composer 安装的, 自己引入的话找了好多的方法但是都不能引入 所以找了这个简单一点的. composer require "phpoffice/phpexcel"    用这个命令下载就可以(等一会时间),前提是你已经安装的composer 如果没有,就安装一个,就不多说了. 安装完成后 window 下打开命令窗口 输入compposer 查看是否安装成功,然后打开你的yii2.0(高级版)框架的verdor 这个文件夹 Shift+右键,打开命令窗口,运行上面那个下

YII2.0框架——环境搭建

一.YII  简单介绍 1.网站 Yii Framework 官方地址:http://www.yiiframework.com Yii Framework 官方仓库:https://github.com/yiisoft Yii Framework 中文社区地址:http://www.yiichina.com Yii Framework 中文社区仓库:https://github.com/yiichina Yii Framework 中文图书:http://www.yiibook.com 2.Yi

Yii2.0框架Restfull API开发攻略

1.将Yii2.0 advanced版中应用主体frontend 或 backend 应用复制为api应用 2.在应用主体api目录的controller新建SiteController.php: namespace api\controllers; use Yii; use yii\rest\ActiveController;/*SiteController测试控制器 */class SiteController extends ActiveController{public $modelCl

表与表关联 一对多

1...表与表之间的关系 一对一: A   B  两张表  A表中的每条的记录对应的B的一条记录 :一对一关系实现方式:          1:使用外键关联  :  场景:使用客户表和客户拓展表  :在属性上 添加一个@OneToOne代表一个对一个的关系    在属性上添加@JoinColumn? name 存储外键的字段     referencedColumnNm 对方表的字段名称 (可以省略)          2:使用主键关联,两个表  A  B 的主键相同. : 使用@Primary

学习yii2.0框架阅读代码(十五)

行为是 yii\base\Behavior 或其子类的实例.行为,也称为mixins,可以无须改变类继承关系即可增强一个已有的 yii\base\Component 类功能.当行为附加到组件后,它将“注入”它的方法和属性到组件,然后可以像访问组件内定义的方法和属性一样访问它们.此外,行为通过组件能响应被触发的事件,从而自定义或调整组件正常执行的代码. <?php namespace yii\base; /** * 行为是所有行为类的基类. * * 一个行为可以用来增强现有的功能组件,无需修改其代

学习yii2.0框架阅读代码(七)

vendor/yiisoft/yii2/base/Model.php <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ namespace yii\base; use Yii; use ArrayAccess; use ArrayObject; use A

学习yii2.0框架阅读代码(十一)

vendor/yiisoft/yii2/base/Module. php(续) /** * 该方法解析指定的路线和创建相应的子模块(s),控制器和行动 * This method parses the specified route and creates the corresponding child module(s), controller and action * instances. It then calls [[Controller::runAction()]] to run th