leftjoin('books','books.id','channel_recommend_books.bid') ->select('books.intro','books.category_name','book_configs.book_name','book_configs.cover','book_configs.bid') ->orderBy('channel_recommend_books.priority','DESC')->orderBy('channel_recommend_books.created_at','DESC'); $query->where('channel_recommend_books.channel_id',$channel_id); if(!empty($id) && $id != 0){ $query->where('channel_recommend_books.id','<',$id); } $list = $query->limit($limit)->get()->toArray(); $lists = array_merge($list,$data); \Log::info('merge:list'); \Log::info($lists); if(count($lists) < 3){ $count = 3 - count($lists); \Log::info('count:'.$count); self::getRecommendBooks($channel_id,0,$count,$lists); } \Log::info('return:lists'); \Log::info($lists); return $lists; } static function incrRecommendNum($channel_id,$bids) { return ChannelRecommendBooks::where('channel_id',$channel_id)->whereIn('bid',$bids)->increment('recommend_num'); } }