ActiveRecord 使用方法

Example1

in查询

$criteria = new CDbCriteria();
$criteria->select = $select;
$criteria->addCondition(["shop_id='$storeId.'", "on_state=$saleStatus"]);
$criteria->addCondition("goods_id in (". join(",",$goodsIds) . ")");
$model = ARRecord::model();
$cb = static::db()->getSlave()->getCommandBuilder();
$fc = $cb->createFindCommand($model->getTableSchema(), $criteria);
$fc->getText();
return $fc->queryAll();

说明
此方法可以记录ActiveRecord的最终SQL,方便记录SQL执行日志

Example2

查询

$criteria = new CDbCriteria();
$criteria->select = $select;
$criteria->addCondition("shop_id='$storeId'");
if($status == 0 || $status == 1){
$criteria->addCondition("on_state=$status");
}
return ARRecord::model()->findAll($criteria);

Example 3

retry

 public static function retry($params, $callback){
for($retry = 0; $retry < 3;$retry++){
try{
if($params instanceof CModel){
return $params->$callback();
}
}catch(CDbException $e){
if (!(strpos($e, "error: 2006") && !strpos($e, "error: 2013"))) {
throw new Exception($e->getMessage(), YOUR_ERROR_CODE);
}
}
}
return false;
}

Yii ActiveRecord用法记录备忘的更多相关文章

  1. pywin32记录备忘

    项目地址:http://sourceforge.net/projects/pywin32/ 文档地址:http://docs.activestate.com/activepython/2.7/pywi ...

  2. java+hadoop+spark+hbase+scala+kafka+zookeeper配置环境变量记录备忘

    java+hadoop+spark+hbase+scala 在/etc/profile 下面加上如下环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_102 expor ...

  3. 增加几个entity framework 的函数 (记录备忘)[转]

    public static class DatabaseExtensions { public static DataTable SqlQueryForDataTatable(this Databas ...

  4. httpwebrequest 模拟登录 获取cookies 以前的代码,记录备忘!

    2个类,一个基类,一个构建头信息调用类 关于如何获取到post中的内容,你之需要用http抓包工具把你与目标网站的请求信息抓下来后,打开分析下按照抓下来的包中的数 据进行构建就行了 using Sys ...

  5. freePBX汉化方法记录——备忘

    FreePBX汉化[root@bgcc69:/var/www/html/admin/i18n/zh_CN/LC_MESSAGES]$pwd/var/www/html/admin/i18n/zh_CN/ ...

  6. [整理记录备忘] CentOS 7 相关记录

    CentOS 7 命令行模式安装GNOME.KDE图形界面 一.进入 root 模式 因为权限限制,所以我们需要进入 root 模式,开机使用 root 登陆或者系统运行中切换为 root 用户均可. ...

  7. [整理记录备忘]oracle数据库相关问题与解决

    检查死锁方式 用dba用户执行以下语句,可以查看到被死锁的语句. select sql_text from v$sql where hash_value in (select sql_hash_val ...

  8. [整理记录备忘] Docker相关

    docker安装 linux上安装Docker(非常简单的安装方法) https://blog.csdn.net/qq_36892341/article/details/73918672 修改dock ...

  9. 微信APP支付整体流程记录备忘

      支付整体流程见文档:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_3   商户系统和微信支付系统主要交互说明:     步骤1: ...

随机推荐

  1. 第六届蓝桥杯java b组第二题

    立方变自身 观察下面的现象,某个数字的立方,按位累加仍然等于自身. 1^3 = 1 8^3 = 512 5+1+2=8 17^3 = 4913 4+9+1+3=17 … 请你计算包括1,8,17在内, ...

  2. Kilani and the Game-吉拉尼的游戏 CodeForce#1105d 模拟 搜索

    题目链接:Kilani and the Game 题目原文 Kilani is playing a game with his friends. This game can be represente ...

  3. 构建之法——homework4

    手机应用——软件腾讯QQ: QQ是腾讯公司开发的一款基于Internet的即时通信软件.最初通过在线广告进行盈利(Banner广告.Email广告等).然后通过免费注册QQ,获取大量用户.开发QQ相关 ...

  4. 为博客添加 Gitalk 评论插件

    背景 Disqus需要翻墙才能正常使用 畅言有广告 2种评论系统都很难统一管理 优化 使用Gitalk评论插件 , gitalk 使用 Github 帐号登录,界面干净整洁,支持 MarkDown语法 ...

  5. There is a cycle in the hierarchy解决

    前言: 在一次项目中,分页查询公告列表信息后,在遍历查询到的公告列表时出现了死循环“There is a cycle in the hierarchy”错误,分析原因是因为在公告实体类中包含了商铺对象 ...

  6. javascript中数组常用的方法和属性

    前言 在javascript中,数组是一种非常重要的数据类型,我们时常会和它打交道,最近在开发项目中频繁的使用到数组,但是自己对数组的众多方法已经是非常模糊了,为了方便自己以后能够更好的使用数组中的属 ...

  7. Linux——基本命令

    目录 一.目录切换命令 二.目录操作命令(增删改查) 2.1增加目录 2.2查看目录 2.3寻找目录(搜索) 2.4修改目录名称 2.5移动目录位置(剪切) 2.6拷贝目录 2.7删除目录 三.文件的 ...

  8. Go语言操作MySQL

    MySQL是常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库. Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的 ...

  9. Linux 下复制整个文件夹的命令

    在 Linux 下复制整个文件夹,包括它的子文件夹及其隐藏文件的方法是: cp -r /etc/skel /home/user 或者 mkdir /home/<new_user> cp - ...

  10. 《Java语言程序设计》编程练习6.31(财务应用程序:信用卡号的合法性)

    6.31(财务应用程序:信用卡号的合法性)信用卡号遵循下面的模式.一个信用卡号必须是13到16位的整数.它的开头必须是: 4,指Visa卡 5,指Master卡 37,指American Expres ...