yii2 存储过程 [ 2.0 版本 ]
声明: 本文是yii2 调用存储过程的一些简单的操作,跟大家分享一下。有错误敬请大家批评指正。谢谢。
$result= Yii::$app->db->createCommand
('call getDateList(:class_id,:cldate_day,:cldate_stime,:cldate_etime)')
->bindValues([":class_id" =>45, ":cldate_day" =>'2017-09-01',":cldate_stime"=>'9:00',":cldate_etime"=>'11:00'])->queryAll();
A.首先我们看一下这个语句:createCommand 表示要对数据库执行的SQL语句。
B.我们现在做的是查询:要执行返回结果数据集(如SELECT)的SQL语句,请使用queryAll(),queryOne(),queryColumn(),queryScalar() 或 query()。
C.call :执行 存储过程的语句 call getDateList(); 执行 存储过程getDateList(),即便没有传递参数,括号是必须要加的。括号里面是传递到存储过程里面的参数。如上代码所示。
D.bindValues(),这是绑定你要传递的参数,时间格式的参数要加‘’,例如:'2017-09-01'。bindValues里面设置的":class_id" 数组键名要与 存储过程getDateList(:class_id)保持一致。
下面是提供变量的值,具体操作可以参考手册
yii2手册
$result= Yii::$app->db->createCommand
('call getDateList(:class_id,:cldate_day,:cldate_stime,:cldate_etime)')
->bindValues([":class_id" =>$class_id, ":cldate_day" =>$cldate_day,":cldate_stime"=>$cldate_stime,":cldate_etime"=>$cldate_etime])->queryAll();
$result= Yii::$app->db->createCommand
('call getDateList(:class_id,:cldate_day,:cldate_stime,:cldate_etime)')
->bindValues([":class_id" =>$class_id, ":cldate_day" =>$cldate_day,":cldate_stime"=>$cldate_stime,":cldate_etime"=>$cldate_etime])->queryOne();
怜晚情之泪 上海
注册时间:2016-11-29
最后登录:2020-11-05
在线时长:27小时29分
最后登录:2020-11-05
在线时长:27小时29分
- 粉丝4
- 金钱880
- 威望130
- 积分2450
共 0 条评论