您的位置:首页 > 编程语言 > PHP开发

[转]yii2 常用数据库操作

2016-08-26 09:43 225 查看

[转]YII2 常用数据库操作

1、对象操作:

  

 2、原生SQL操作:

  更新:

 插入更新删除: 

  事务:

//事务的基本结构(多表更新插入操作请使用事务处理)
$dbTrans= Yii::app()->db->beginTransaction();
try{
$post= new Post;
$post->'title'= 'Hello dodobook!!!';
if(!$post->save())throw newException("Error Processing Request", 1);
$dbTrans->commit();
//  $this->_end(0,'添加成功!!!');
}catch(Exception$e){
$dbTrans->rollback();
//  $this->_end($e->getCode(),$e->getMessage());


 

findOne()和findAll()传入一个参数时默认为主键,否则须以键值对表示
 // 查询pk值为10的客户
$customer = Customer::findOne(10);
$customer = Customer::find()->where(['id' => 10])->one();

// 查询age为30,status为1的客户
$customer = Customer::findOne(['age' => 30, 'status' => 1]);
$customer = Customer::find()->where(['age' => 30, 'status' => 1])->one();

// 查询pk为10的所有客户
$customers = Customer::findAll(10);
$customers = Customer::find()->where(['id' => 10])->all();

// 查询pk值为10,11,12的客户
$customers = Customer::findAll([10, 11, 12]);
$customers = Customer::find()->where(['id' => [10, 11, 12]])->all();

// 查询年龄为30,状态值为1的所有客户
$customers = Customer::findAll(['age' => 30, 'status' => 1]);
$customers = Customer::find()->where(['age' => 30, 'status' => 1])->all();


$orders = Orders::find()->where([
'AND',
['pay_status' => 1],
['ship_status' => 0]
])->orWhere([
'AND',
['pay_status' => 0],
['payment' => 1],
['ship_status' => 0]
])->all();

 
多个条件使用

$customers = Customer::find()->where(['and',['id','in',$array],['id','between',1,10],['!=','id',666],['age' => 30, 'status' => 1]])->all();


转:http://blog.csdn.net/xundh/article/details/45955195

一只站在树上的鸟儿,从来不会害怕树枝会断裂,因为它相信的不是树枝,而是它自己的翅膀。与其每天担心未来,不如努力做好现在。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: