二話不說直接上代碼
$createtime = [ 'FROM_UNIXTIME(gz.createtime,"%Y-%m-%d %H:%i:%s") as date']; // gz是alias起的別名 where隨便加條件 join 先和關聯的表起別名 然后和關聯的表建立關系 Q496631085 $gzList = Db::name('shop_gz') ->alias('gz') ->where('gz.gzstatus','0') ->where('gz.workerid',1]) ->join('shop_user us', 'gz.uid=us.id','LEFT')//關聯用戶表 //LEFT是如果沒有數據也要返回查詢到的shop_gz這個表的數據 ->field('us.nickname,us.headimage,us.user_name,us.mobile,gz.*') //顯示哪些字段 可以用*表示所有的字段 ->field($createtime) //把時間戳轉成日期 時間 ->select();
來一個多功能接口的demo
1 // 翻頁 標簽 店鋪id 員工id 點贊 模糊搜索作品名 2 public function get_worksList($page=1,$tag=null,$storesid=null,$workerid=null,$dianzan=null,$name=null) 3 { 4 5 if($tag){ $tag = "w.tag LIKE '%{$tag}%'";} 6 if($storesid){ $storesid = ['w.storesid'=>$storesid];} 7 if($workerid){ $workerid = ['w.workerid'=>$workerid];}//2020-8-24 12:37:10 新增具體手藝人id 8 if($name) { $name = "w.name LIKE '%{$name}%'";} 9 if($dianzan){ $dianzan = ['dz.uid'=>$this->uid];} 10 $hot_works = Db::name('shop_works') 11 12 ->alias('w') 13 ->where($storesid) 14 ->where($workerid)//2020-8-24 12:37:10 新增具體手藝人id 15 ->where($tag) 16 ->where($name) 17 18 ->where('w.state_switch',1) 19 ->join('shop_worker wc', 'w.workerid=wc.id') 20 ->join('shop_stores sto', 'w.storesid=sto.id','LEFT')//關聯職業表 21 ->join('shop_stores_profession ps', 'wc.professionid=ps.id','LEFT')//關聯職業表 22 ->join('shop_dz dz', 'w.id=dz.worksid and dz.uid='.$this->uid,'LEFT')//關聯關注表 23 ->where($dianzan) 24 ->field('dz.id as dz,w.*') 25 ->field('wc.name as workername,wc.workerimage,w.*') 26 ->field('ps.name as professionname') 27 ->field('sto.name as storesname,sto.id as storesid,sto.logoimage')//店鋪字段 名稱 id 店鋪頭像 28 ->order('w.views desc') 29 ->page($page,12) 30 ->select(); 31 32 33 //服務列表 34 foreach($hot_works as $key=>$works){ 35 $service = Db::name('shop_stores_service')->where('id','in',$works['serviceids'])->field('id,servicename')->select(); 36 $hot_works[$key]['servicelist'] = $service; 37 38 $hot_works[$key]['createtime'] = date('Y-m-d H:i:s',$works['createtime']); 39 } 40 41 42 return $hot_works; 43 }
//為什么要foreach 因為這個字段必須是個列表 也就是查詢的這個是一個數組下面還有數組 也就是二維數組!