需要明确的一点,sql语句或者yii自带的find和findall方法这些操作,都需要放在model层,在对应的model里面创建一个方法。写上这些sql语句,有三个例子:
1.这个方法是通过截止日期来获取城市的信息。
/***根据截止日期来获取城市信息*@paramarray$deadline_day社保截止日期*@returnarray*@authorxcz*/html' target='_blank'>publicfunctiongetCityDataByDeadline($deadline_day){ $sql="SELECTarea_id,city_nameFrom{{city_data}}wheredeadline_day=".$deadline_day; $command = Yii::app()->db->createCommand($sql); $city_data = $command->queryAll(); return $city_data;}
2.还有在model层使用多表查询的sql语句的写法,使用join的方式来进行多表的连接
Public function getCompanyInfo($c_id){ $sql="SELECTc.c_name,c.main_user,ci.mailascompany_mail,ci.phoneascompany_phone,a.uid,a.user_id,a.phoneasmain_user_phone,a.mailasmain_user_mailFrom{{company}}cjoin{{company_info}}cijoin{{admin}}awherec.c_id=ci.c_idandc.c_id=a.c_idandc.c_id=".$c_id; $command=Yii::app()->db->createCommand($sql); $company_data=$command->queryAll(); return $company_data;}
3.因为我们有两个数据库,一个是shopnctest数据库,一个是joyotest数据库,然后如果我想调用数据库shopnctest里面的member表的信息,只有通过model层里的member模型里的找主键的方法。然后根据member_id来查找对应member_id的数据。
Public function getMemberById($id){ return ShopncMemberModel::model()->findByPk($id,'member_state=1');}
然后再公共service层,采用如下的的方式对model层的方法进行调用。
$city_data=CityDataModel::model()->getCityDataByDeadline($d);
调用的数据需要通过isset的判断。
如果通过第三种方法调用到的数据的话,可以用两种方式进行调用。
获取的数据是一个对象的类型,所以$member_data->member_mobile这种方式就能对对象的数据进行调用。
另一个是
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答