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

对于社保截止日接口的学习记录---在yii1.1中公共service层对model层的调用

2015-05-14 13:15 211 查看
需要明确的一点,sql语句或者yii自带的find和findall方法这些操作,都需要放在model层,在对应的model里面创建一个方法。写上这些sql语句,有三个例子:

1.这个方法是通过截止日期来获取城市的信息。

/**
*根据截止日期来获取城市信息
*@paramarray$deadline_day社保截止日期
*@returnarray
*@authorxcz
*/
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这种方式就能对对象的数据进行调用。

另一个是memberdata=member_data=member->attributes; 这种方式调用的话,会将获取的数据转化为数组的形式,$member_data[‘member_mobile’]然后用这种方式就可以调用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: