Thinkphp5 视图查询字段别名

正常的字段别名在tp5中是以下方式实现的


<?php

namespace app\api\model;
use think\Model;
use think\Db;
class CouponLogModel extends Model{
   protected $name = 'coupon_log';

   public function selectAll($map,$field)
   {
       $result = Db::view('coupon_log',['status'=>'log_status'])
           ->view('coupon',$field,"coupon.coupon_id=coupon_log.coupon_id")
           ->where($map)
           ->select();
       return $result;
   }
}

但是我发现运行报错, 然后我遍开始在model里面各种调试,错误方法就不说了

最终我发现原因来自于我的$map中,最开始我的map是这么写的

$map['status'] = 0;
$map['user_id'] = $this->user_id;

然后因为两个表都有status字段,就给我报了status字段重复.

最终修改为

$map['coupon_log.status'] = 0;
$map['user_id'] = $this->user_id;

即可.map条件一定要在录入模型前区分出来

博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论