需要明確的一點(diǎn),sql語句或者yii自帶的find和findall方法這些操作,都需要放在model層,在對應(yīng)的model里面創(chuàng)建一個方法。寫上這些sql語句,有三個例子:
1.這個方法是通過截止日期來獲取城市的信息。
/***根據(jù)截止日期來獲取城市信息*@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的方式來進(jìn)行多表的連接
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.因?yàn)槲覀冇袃蓚€數(shù)據(jù)庫,一個是shopnctest數(shù)據(jù)庫,一個是joyotest數(shù)據(jù)庫,然后如果我想調(diào)用數(shù)據(jù)庫shopnctest里面的member表的信息,只有通過model層里的member模型里的找主鍵的方法。然后根據(jù)member_id來查找對應(yīng)member_id的數(shù)據(jù)。
Public function getMemberById($id){ return ShopncMemberModel::model()->findByPk($id,'member_state=1');}然后再公共service層,采用如下的的方式對model層的方法進(jìn)行調(diào)用。
$city_data=CityDataModel::model()->getCityDataByDeadline($d);調(diào)用的數(shù)據(jù)需要通過isset的判斷。
如果通過第三種方法調(diào)用到的數(shù)據(jù)的話,可以用兩種方式進(jìn)行調(diào)用。
獲取的數(shù)據(jù)是一個對象的類型,所以$member_data->member_mobile這種方式就能對對象的數(shù)據(jù)進(jìn)行調(diào)用。
另一個是
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選