yii多数据库】的更多相关文章

YII访问数据库 CDbConnection: 一个抽象数据库连接 CDbCommand: SQL statement CDbDataReader: 匹配结果集的一行记录 CDbTransaction:数据库事务 访问数据库前需要建立数据库连接:使用DAO建立一个抽象数据库链接: $connection = new CDbConnection($dsn, $username, $password); $connection->active = true; // 只有激活了连接才可以使用 // 想…
Yii中同时连接多个数据库 Published by 荒野无灯 on 2011-07-09 02:12:45 under PHP/Yii Tags:yii,database 14162 views 0×01: 配置在主配置文件 (main.php) 中: 1234567891011         'db'=>array(            'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db', …
数据库复制和读写分离 很多数据库支持数据库复制 database replication来提高可用性和响应速度. 在数据库复制中,数据总是从主服务器 到 从服务器. 所有的插入和更新等写操作在主服务器执行,而读操作在从服务器执行. 通过配置yii\db\Connection可以实现数据库复制和读写分离. [ 'class' => 'yii\db\Connection', // 配置主服务器 'dsn' => 'dsn for master server', 'username' => '…
$result = array( 'id'=>null, 'val'=>0 ); $row1 = Yii::app()->db->createCommand()->insert('test1', $result); $id = Yii::app()->db->getLastInsertID(); $row2 = Yii::app()->db->createCommand()->update('test1', array('val'=>$id…
1.数据访问对象(DAO): 执行 SQL 语句 数据库连接建立后,SQL 语句就可以通过使用 [CDbCommand] 执行了.你可以通过使用指定的SQL语句作为参数调用 [CDbConnection::createCommand()] 创建一个 [CDbCommand] 实例. [php] $connection=Yii::app()->db; // 假设你已经建立了一个 "db" 连接 // 如果没有,你可能需要显式建立一个连接: // $connection=new CD…
Yii提供了强大的数据库编程支持.Yii数据访问对象(DAO)建立在PHP的数据对象(PDO)extension上,使得在一个单一的统一的接口可以访问不同的数据库管理系统(DBMS).使用Yii的DAO开发的应用程序可以很容易地切换使用不同的数据库管理系统,而不需要修改数据访问代码.Yii 的Active Record( AR ),实现了被广泛采用的对象关系映射(ORM)办法,进一步简化数据库编程.按照约定,一个类代表一个表,一个实例代表一行数据.Yii AR消除了大部分用于处理CRUD(创建,…
模型: 有多少数据表,就建立多少模型 模型其实就是类 我们对数据库进行操作,需要实例化模型类,产生对象 通过对象调用相关的方法,就可以实现数据库的操作   增加记录 [php] $post =newPost(); $post->title ="jack"; $post->content ="1111111"; $post->createtime = time(); $post->save();   通过观察mdm项目发现在model中大多数的…
一.执行原生太SQL的PDO方式. 复制代码代码如下: $sql = "";//原生态sql语句 xx::model()->dbConnection->createCommand($sql)->execute(); 二.Active Record方式 (1)New 方式 复制代码代码如下: $post=new Post; $post->title='sample post'; $post->content='post body content'; $pos…
<?php namespace app\controllers; use yii\web\Controller; use app\models\Customer; class CustomerController extends Controller{ //根据顾客名字查询出所有的订单信息 public function actionIndex(){ $customer = Customer::find()->where(['name'=>'zhangsan'])->one();…
模型代码: <?php namespace app\models; use yii\db\ActiveRecord; class Test extends ActiveRecord{ } 控制器代码: public function actionTest(){ //方法一 $sql = 'select * from test where id=:id'; $data = Test::findBySql($sql,array(':id'=>1))->all(); var_dump($dat…
获取某一列数据 self::find()->where(['pid'=>$this->id])->select('id')->column(); 更新操作 $model->updateAttributes(['sales_status'=>Sales::SALES_STATUS_REFUND]) === false $updateRes = UllageGoodsModel::updateAll(['is_deleted' => 1], ['ullage_g…
1. 概述 操作数据库有2种方式: DAO(data access object),不安全 ORM(onject relational mapping) 2. DAO Yii::app()->db->createCommand()->select()->from()->where()->andwhere()->orwhere->filterWhere()->innerjoin()->groupBy()->having(); // filte…
1.Yii如何使用数据库 Yii通过数据库访问对象(Database Access Objects,简称DAO)来使用数据库的. DAO建立在"PHP数据对象(PDO)之上,并提供一套面向对象的API来访问数据库" 2.数据库的连接 数据库的连接通常放在配置文件中,/common/config/main-local.php中. 'db' => [            'class' => 'yii\db\Connection',            'dsn' =>…
一.Yii操作数据库的几种选择 1,PDO方式. $sql = "";//原生态sql语句 xx::model()->dbConnection->createCommand($sql)->execute(); 2,Active Record方式 (1)New $post=new Post; $post->title='sample post'; $post->content='post body content'; $post->save(); (2…
Yii2.0和Yii1.1版本的变动还是挺多的,我发现配置文件有许多不同,Yii1.1版本里有个main.php 好多信息是在这里配置的,比如默认控制器,数据库连接信息:Yii的数据库配置被单独拿出来,在config目录下的db.php文件里,格式到时基本一样. return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii', 'username' => 'php', 'passwor…
首先配置一下缓存,自己选择是用文件缓存还是数据库缓存等. 'cache' => [ 'class' => 'yii\caching\FileCache', ], 然后就可以通过 Yii::$app->cache->set() 和 Yii::$app->cache->get() 设置.获取缓存内容了.下面是一个带缓存依赖的实例: //表达式依赖 $dp = new ExpressionDependency([ 'expression' => 'count(Yii::…
Yii2框架可以通过两种方式 安装 : 第一种方法: Yii2有两个模板 一个是基础模板,一个是高级模板,基础可能简单点吧.........,现在直接从   https://github.com/yiisoft/yii2-app-advanced   下载 高级版  ,例如放在yiitest目录下 这是在windows 下 安装 ,点击 init.bat 或者init 这个我忘记了.......这是初始化我们的应用,初始化是在你创建的yii2test目录下 或者执行cmd init命令 选0 y…
调用YII框架中 jquery:Yii::app()->clientScript->registerCoreScript('jquery');        framework/web/js/source的js,其中registerCoreScript key调用的文件在framework/web/js/packages.php列表中可以查看    在view中得到当前controller的ID方法 :Yii::app()->getController()->id;        …
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name' => '小伙儿'] 的一条数据: User::find()->where(['name' => '小伙儿'])->all(…
iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.中篇主要讨论MVC.MVCS.MVVM.VIPER等架构在iOS开发中的应用. 关于MVC.MVVM等一大堆思想 其实这些都是相对通用的思想,万变不离其宗的还是在开篇里面我提到的那三个角色:数据管理者,数据加工者,数据展示者.这些五花八门的思想,不外乎就是制订了一个规范,规定了这三个角色应当如何进行数据交换.但同时这些也是争议最…
当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构. 一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在这时候必须清楚认识到:View层的架构一旦实现或定型,在App发版后可修改的余地就已经非常之小了.因为它跟业务关联最为紧密,所以哪怕稍微动一点点,它所引发的蝴蝶效应都不见得是业务方能够hold住的.这样的情况,就要求我们在实现这个架构时,代码必须得改得勤快,不能偷懒.也必须抱着充分的自我怀疑态度,…
Yii是一个高性能的,适用于开发WEB2.0应用的PHP框架. Yii自带了丰富的功能 ,包括MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间.2.0.0版本发布于2014年10月12日.下面介绍一下Yii2.0高级模板的安装. 工具/原料   composer php运行环境 mysql数据库 方法/步骤   1 安装composer,可自行百度composer,下载安装软件.安装之前请确定机器有PHP环境.安…
背景:使用Yii2命令行模式开启脚本监控rabbitmq队列(或使用nohup &命令后台监控接口),当队列有订单信息,执行查询,更新操作(相当于PHP文件写个查询,更新,使用命令行启动) 问题:一开始监控没有问题,每过一段时间会抛出错误 > Error while sending QUERY packet. PID=25370. The SQL being executed was: 一句sql语句(此sql直接执行没有错误). 解决方案,由于等待消息队列是一个长连接,而等待回调前有个数据…
前言 <iOS应用架构谈 开篇>出来之后,很多人来催我赶紧出第二篇.这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分. 现在好啦,第二篇出来了. 当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构. 一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在这时候必须清楚认识到:View层的架构一旦实现或定型,在App发版后可修改的余地就已经非常之小了…
exception ‘CDbException’ with message ‘The table “pms_goods” for active record class “PmsGoods” cannot be found in the database.’ in /data/work/admin/framework/db/ar/CActiveRecord.php:2385 上线之前,本地测试通过,把测试机代码和Yii framework代码一同下载下载,部署到本地Linux虚拟机中,也正常运行…
http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术   第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动态网页开发技术,要用它完成实践项目工程的开发,需要掌握的知识点比较多.为了让读者对JSP这一开发技术的知识体系有个全面.清晰的了解,为后续的学习打下基础,本章将首先讲述作为一名JSP程序员应该掌握的技术知识体系和本书的内容安排.接着,对JSP技术进行了简要的介绍,使读者了解JSP技术的功能和优势.读…
第一步:进入yii migrate 通过dos(我是win7系统,其他系统类似,就是进入字符界面)打开网站目录 phpStudy/WWW/local/ddc_dlss 输入 ./yii migrate 按回车,会有个判断是否打开migrate,输入y按回车 这时候,就可以创建自己的数据库创建或者修改任务了! 举例1: 删除files表的data字段 第一步:创建任务文件 $ ./yii migrate/create del_colum_data_in_files_table 按回车,yii会在c…
个人平时会用到的方法,记录一下并分享给需要的朋友,Yii批量添加还需要clone一下model才可以,不然只会插入一条数据. 也可以把文件通过参数的方式调入到方法中. // 读取CVS文件 function ReadTxtFile(){ $file = fopen('test.txt','r'); $fileInfo = array(); $i=0; //输出文本中所有的行,直到文件结束为止. while(! feof($file)) { $list= explode("\t", fg…
public function getMinLimit () {        $sql = "...";        $result = yii::app()->db->createCommand($sql);        $query = $result->queryAll();         return array (                $query [0] ['max'],         );    } $connection=Yii::…
背景: 对于一个大公司拥有多个分公司的应用场景下,我们通常需要配置多个sub-database(子数据库)来存储不同的数据纪录. 配置步骤: 1.在application骨架里面的主配置文件main.php的索引为components中新增一个'db2'=>array(//todo the code stub.); 例如: // application components 'components'=>array( 'db'=>array( 'connectionString' =>…