需要明確的一點,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這種方式就能對對象的數據進行調用。
另一個是
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答