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

这篇博客记录了在Yii1.1框架下,如何在公共Service层调用Model层的方法来处理社保截止日接口。主要涉及通过截止日期获取城市信息的SQL操作,多表查询的实现,以及跨数据库调用数据。在Model层定义SQL语句和方法,Service层通过isset判断调用,返回的数据可以以对象或数组形式处理。
摘要由CSDN通过智能技术生成

需要明确的一点,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->attributes; 这种方式调用的话,会将获取的数据转化为数组的形式,$member_data[‘member_mobile’]然后用这种方式就可以调用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值