目錄
yii model层操作总结
您可能感兴趣的文章
首頁 php教程 php手册 yii model层操作总结

yii model层操作总结

Jun 13, 2016 am 08:53 AM
model yii 屬性 總結 操作 方法 設定

yii model层操作总结

yii model层操作属性和方法总结。

tableName – 设置Model所对应的表名,例如:

public function tableName(){return 'gshop_order_ext';}

rules – 设置Model里各字段的验证规则

relations – 设置关联规则

attributeLabels – 设置各字段的别名

safeAttributes – 设置可以修改属性的字段

beforeValidate和afterValidate – 字段验证前和验证后执行的函数, 需要返回true值

beforeSave和afterSave – 记录存储前和存储后执行的函数, 需要返回true值

其次, Yii里的ORM使用的是AR, 有几个主要的操作, 分别是:

save – 操作数据

update – 修改数据

delete – 删除数据

validate – 验证数据

读取记录时, 有以下几个方法:

findByPk – 通过主键查找记录, 结果为单条记录

findByAttribute – 通过属性查找记录, 结果为单条记录

findAllByAttributes – 通过属性查找数据, 结果为记录集

findAll – 通过CDbCriteria对象查找数据, 结果为记录集 *

查找方法接收的参数有2种, 没有星号的, 接受数组作为参数, 有星号的接收CDbCriteria对象作为参数, 使用对象的时候, 可以提供更多的查找条件, 下面给出一个实例:

$criteria = new CDbCriteria; // 创建CDbCriteria对象
$criteria->condition = 'title LIKE %' . 'php' . '%'; // 设置查询条件
$criteria->order = 'createdTime DESC'; // 设置排序条件
$criteria->limit = 10; // 限定记录的条数
$criteria->select = 'id,title,content'; // 设置结果所包含的字段

$articles = Article::model()->findAll($criteria); //结果为数组, 其中每个元素为记录对象

再次, Yii对关联数据默认采用LazyLoad的加载形式, 即需要时才读取. 这样, 当我们不需要关联数据的时候, Yii是不会帮我们去读取的, 大大加快了反应的速度. 但是也有一些时候, 我们是需要关联数据的, 比如说读取文章的时候, 我们是需要文章所属的分类的, 如果使用LazyLoad的形式, 就要有多少条, 查询多少次, 效率非常低下, 这时就需要EagerLoad了, 即一次把关联表的数据全部读出.

比如:

$articles = Article::model()->with('category')->findAll();
登入後複製

使用with将关联表的数据一次全部读出. 关联表的设置在Model里的relation里设置.

比如:

public function relations() {
       return array(
             'category' => array(self::BELONGS_TO, 'Category', 'categoryId'),
       );
}
登入後複製

非常的清晰明了。

您可能感兴趣的文章

  • Yii framework框架之模块开发分析
  • Yii框架Yiiapp()的理解
  • yii 数据库添加,修改,删除相关操作总结
  • yii数据库查询操作总结
  • Yii CDbCriteria的常用方法总结
  • Yii 获取当前控制器名称和动作名称
  • Yii使用PHPExcel导入Excel文件的方法
  • Yii 动作方法技巧
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

怎麼在番茄免費小說app中寫小說 分享番茄小說寫小說方法教程 怎麼在番茄免費小說app中寫小說 分享番茄小說寫小說方法教程 Mar 28, 2024 pm 12:50 PM

怎麼在番茄免費小說app中寫小說 分享番茄小說寫小說方法教程

抖音如何設定定時發布作品時間?它如何設定影片時間長短? 抖音如何設定定時發布作品時間?它如何設定影片時間長短? Mar 27, 2024 pm 06:11 PM

抖音如何設定定時發布作品時間?它如何設定影片時間長短?

微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人) 微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人) May 01, 2024 pm 12:01 PM

微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人)

抖音標籤在哪裡設定出來?它怎麼打標籤,才能精準推流? 抖音標籤在哪裡設定出來?它怎麼打標籤,才能精準推流? Mar 27, 2024 am 11:01 AM

抖音標籤在哪裡設定出來?它怎麼打標籤,才能精準推流?

手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋) 手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋) May 04, 2024 pm 06:01 PM

手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋)

手機字體大小設定方法(輕鬆調整手機字體大小) 手機字體大小設定方法(輕鬆調整手機字體大小) May 07, 2024 pm 03:34 PM

手機字體大小設定方法(輕鬆調整手機字體大小)

微博怎麼設定水印在中間_微博設定水印在中間方法 微博怎麼設定水印在中間_微博設定水印在中間方法 Mar 29, 2024 pm 03:31 PM

微博怎麼設定水印在中間_微博設定水印在中間方法

Go語言方法與函數的差異及應用場景解析 Go語言方法與函數的差異及應用場景解析 Apr 04, 2024 am 09:24 AM

Go語言方法與函數的差異及應用場景解析

See all articles