1,使用updateCounters()来更新计数器字段。
Book::model()->updateCounters(array('download_count'=>1),':id=id',array(':id'=>$id))
2,使用sendFile()来下载文件。
$type = LFilter::checkString($_GET['t'])
$dataProvider = Book::model()->findByPk($id)
$content = $this->renderPartial('book',array(
'dataProvider' =>$dataProvider,
'type' =>$type,
),true,false)
Yii::app()->request->sendFile($dataProvider->name.'.'.$type,$content)
3,设计数据库时候如果create_time,update_time字段为int(10).在模型中使用行为插件
public function behaviors()
{
return array(
'CTimestampBehavior' =>array(
'class' =>'zii.behaviors.CTimestampBehavior',
'createAttribute' =>'create_time',
'updateAttribute' =>'update_time',
)
)
}
4,如果有些字段使用1,2,3之类的数字存储,在程序中使用时候含义不明确。可以model中加入如下函数.
private static $_items = array()
public static function loadItems($type,$code=null)
{
self::$_items = array(
'status' =>array(
'1' =>Yii::t('dh','开启'),
'2' =>Yii::t('dh','关闭'),
),
'type' =>array(
'1' =>Yii::t('dh','产品'),
'2' =>Yii::t('dh','文章'),
),
)
return $code ? self::$_items[$type][$code] : self::$_items[$type]
}
5,多语言使用Yii::t()函数。
新建文件/protected/messages/zh_cn/message.php内容如下代码
return array('some message'=>'中文信息')
在view文件里如下
echo Yii::t('message','some message')
在config/main.php里加上:'language'=>'zh_cn',
显示结果就是:'中文信息'。
public function attributeLabels()
{
return array(
'verifyCode'=>Yii::t('default','验证码'),
'name'=>Yii::t('default','名字'),
'email'=>Yii::t('default','邮箱'),
'subject'=>Yii::t('default','标题'),
'body'=>Yii::t('default','内容'),
'required'=>Yii::t('default','变量"{var}"没有定义',array('{var}'=>$var))
)
}
6,数据库表使用了前缀,则使用{{$tableName}}。
public function tableName()
{
return '{{product}}'
7,Cookie的使用
//设置Cookie
$cookie=new CHttpCookie($name,$value)
$cookie=time()+60*60*24
Yii::app()->request->cookies[$name]=$cookie
//获取Cookie
$cookie=Yii::app()->request->cookies[$name]
$value=$cookie->value
//删除Cookie
$cookie = Yii::app()->request->getCookies()
unset($cookie[$name])
}
8,findAll()的使用
$params=array(
'select'=>'id,name,image',
'order'=>'total_point DESC',
'limit'=>5,
)
$this->findAll($params)
find()使用同理,只是返回一条数据。
9,readAll()返回数组结果集
$query = 'SELECT id,username FROM user'
$command = Yii::app()->db->createCommand($query)
return $command->query()->readAll()
yii2.0 官方提供两个模板先说基本版:
只要修改 config/db.php
<?php
return [
'class' =>'yii\db\Connection',
'dsn' =>'mysql:host=localhostdbname=yii2',
'username' =>'root',
'password' =>'',
'charset' =>'utf8',
'tablePrefix' =>'hpcms_',
]
其中dbname是指数据库名、 host 是主机、 tablePrefix 是表前缀
高级版的也差不多,修改 common/config/main-local.php
配置参数和上述基本一致!
这样就可以链接数据库了(当然你得要启动mysql才可以,如果是其他数据库,请搜索一下,基本都是配置下参数即可)
对于如何 *** 作数据库(增删改查)请看文档ActiveRecord 以及Model (设计表结构后,可以用Gii快速生成Model)
想知道更多的话,看文档最实际
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)