在 protected/config 文件夹下的 main.php 中做如下设置:
return array( 'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 'name'=>'My Web Application', 'sourceLanguage'=>'en_us', 'language'=>'zh_cn',
格式:'VarName'=>array('RelationType', 'ClassName', 'ForeignKey', ...additional options)
需要弄清楚的几点:
VarName指什么? 详见下面例2。
RelationType。一共有4种分别为self::HAS_MANY, self::BELONGS_TO, self::MANY_MANY, self::HAS_ONE。
ClassName。即关联的另一个/model/类名.php。
ForeignKey。写了ForeignKey是用主键(ClassName.PK)关联Self.ForeignKey,为空两个表不是用主键关联需要on
附加条件
//YII framework路径Yii::getFrameworkPath();
//protected/runtimeYii::app()->getRuntimePath();
//在view中得到当前controller的ID方法:Yii::app()->getController()->id;
CListView是我们在使用Yii时经常用到的控件,它的设置可繁可简,简单的5行代码就可以写完;复杂的也许就要写上几十行代码。记性不佳,本着好记忆不如烂笔头的精神,记录一下使用方法。
CDbCriteria是yii封装的一个数据库查询类,类似于一种格式化的数据库查询方式。其目的是为了让数据库查询更加的灵活和清晰,与php手册的数据库操作稍有区别。
最近折腾 dedecms 5.7 ,在测试环境下没有问题,运行一切正常,上传到服务器上就出现问题了。
测试环境:Win7 32bit、nginx,php 7,mysql 5.7.16 (功能正常)
服务器:CentOS 6.8 64bit、nginx、php 7 (功能不正常,主要表现就是对模版不进行解析。所有本应从数据库获取数据并对模版解析的标签,不进行替换,就直接输出标签)
CDbCriteria是yii封装的一个数据库查询类,类似于一种格式化的数据库查询方式。其目的是为了让数据库查询更加的灵活和清晰,与php手册的数据库操作稍有区别。
执行 SQL 语句
数据库连接建立后,SQL 语句就可以通过使用 [CDbCommand] 执行了。你可以通过使用指定的SQL语句作为参数调用 [CDbConnection::createCommand()] 创建一个 [CDbCommand] 实例。
// 假设你已经建立了一个 "db" 连接,可以在 protected/config/main.php 中设置 $connection=Yii::app()->db; // 如果没有,你可能需要显式建立一个连接: // $connection=new CDbConnection($dsn,$username,$password); $command=$connection->createCommand($sql); // 如果需要,此 SQL 语句可通过如下方式修改: // $command->text=$newSQL;
<?php class myclass { //状态:取消 const STATUS_ABORT = -1; //状态:签约 const STATUS_SIGN = 0; //状态:执行 const STATUS_ATTEND = 1; //定义一个返回数组的函数 public static function statusArray(){ return array( self::STATUS_ABORT => '取消', self::STATUS_SIGN => '签约', self::STATUS_ATTEND => '执行', ); } //根据状态码转文字 public static function statusDecode($status_num){ $reval = ''; $t = self::statusArray(); return $t[(string)(intval($status_num) ? intval($status_num) : self::STATUS_ABORT)]; } } echo myclass::statusDecode(-1); ?>
运行结果是:取消