记录:tp5 field里使用mysql的 IF 查询
示例1
public function serviceCoachList($dis){
$data = $this->alias('a')
->join('massage_service_service_coach b','a.id = b.ser_id','left')
->where($dis)
->field(['a.show_salenum,a.member_service,a.id,a.title,a.cover,a.init_price,a.price,a.is_add,a.type,a.time_long,a.total_sale,a.sub_title,a.admin_id,a.material_price,b.price as coach_price,IF(b.price<0,a.price,b.price) as price'])
->group('a.id')
->order('a.top desc,a.id desc')
->select()
->toArray();
return $data;
}
示例2
public function upServiceCoachList($dis,$price){
$data = $this->alias('a')
->join('massage_service_service_coach b','a.id = b.ser_id','left')
->where($dis)
->field(['a.member_service,a.id,a.title,a.cover,a.init_price,a.is_add,a.type,a.time_long,a.total_sale,a.sub_title,a.admin_id,a.material_price,ROUND(IF(b.price<0,a.price,b.price)+a.material_price,2) as total_price,ROUND(IF(b.price<0,a.price,b.price)+a.material_price,2) as price'])
->having("total_price>=$price")
->group('a.id')
->order('a.top desc,a.id desc')
->select()
->toArray();
return $data;
}