tp6 日期搜索与多表联查join

之前tp5的时候一直这样写

//同字段名时,使用field明确返回的字段以及别名
 $join = [
           ['cmf_mudidi_class w','a.class_id=w.id'],
       ];
$mudidi=Db::table('cmf_mudidi')->alias('a')->field('a.id,w.type_id,a.name,w.class_name') ->join($join)->paginate(10);

后来发现最早的写法太诡异,刚好最近写到搜索,特别记录下


    // 搜索记录
    public function search_log(){
      $param=$this->request->param();
        if(empty($param['page'])){
          $this->error('搜索记录不存在');
        }
        $begin_time=$param['begin_time'];
        $end_time=$param['end_time'];
        $keywords=$param['keywords']; 
        $where=array();
        if($begin_time || $end_time){
          $begin_time=strtotime($begin_time);
          $end_time=strtotime($end_time);
          $where[]=['a.ctime','between',[$begin_time,$end_time]];
        } 
        if(!empty($keywords)){
          $where[]=['b.dog_card_number',$keywords];
        }
        $list=DB::name('search_log')->alias('a')
              ->join('dog b','a.dog_id = b.id') 
              ->where($where)
              ->where('b.card_status',2)
              ->paginate(10);
        
        $this->success($list);
    }
posted @ 2020-10-22 15:47  Twoknives_li  阅读(399)  评论(0)    收藏  举报