where('name', 'like', '%'.$postdata["keyword"].'%'); } if(!empty($postdata["category_id"])){ if($postdata["category_id"] == '-1'){ //根据分类匹配 $category_ids = (new ProjectModel())->where('user_id','=',$user_id) ->where('project_type','=',$postdata["product_type"]) ->column('category_id'); if(!empty($category_ids)){ $model = $model->where('category_id', 'in', $category_ids); } }else{ $model = $model->where('category_id', '=', $postdata["category_id"]); } } //添加项目排序查询 if(!empty($postdata["order_sort"]) && $postdata["order_sort"] == 1){ $order = "actual_views desc,create_time desc"; }else{ $order = "create_time desc"; } $list = $model->with(['category','user'])->where('is_delete', '=', 0) ->where('project_type', '=', $postdata["product_type"]) ->where('status', '=', 1) ->where('is_show', '=', 1) ->where('user_id', '<>', $user_id) ->order($order) ->paginate($postdata); foreach($list as &$val){ if($postdata["product_type"] == 0){ $release_user = DemandUserModel::detail($val['user_id'],['grade']); }else{ $release_user = SupplyUserModel::detail($val['user_id'],['grade']); } $val['grade'] = empty($release_user['grade']) ? '' : $release_user['grade']; $image_list = ReleaseProjectImageModel::getImage($val["project_id"]); $val['image'] = empty($image_list[0]) ? '/static/default.png' : $image_list[0]['file_path']; } return $list; } /** * 详情 */ public static function detail($project_id) { if (!$model = parent::detail($project_id)) { throw new BaseException(['msg' => '不存在']); } // 累积阅读数 $model->where('project_id', '=', $project_id)->inc('actual_views', 1)->update(); return $model; } /** * 获取列表 */ public function getIndexList($user, $show_num=2) { $model = $this; $user_id = 0; if(!empty($user)){ $user_id = $user['user_id']; //根据分类匹配 $category_ids = (new ProjectModel())->where('user_id','=',$user['user_id']) ->column('category_id'); if(!empty($category_ids)){ $model = $model->where('category_id', 'in', $category_ids); } } $list = $model->with(['category','user'])->where('is_delete', '=', 0) ->where('status', '=', 1) ->where('is_show', '=', 1) ->order(['create_time' => 'desc']) ->paginate($show_num); foreach($list as &$val){ if($val["product_type"] == 0){ $release_user = DemandUserModel::detail($val['user_id'],['grade']); //需求项目获取供应用户 $my_user = SupplyUserModel::detail($user_id); }else{ $release_user = SupplyUserModel::detail($val['user_id'],['grade']); //供应项目获取需求用户 $my_user = DemandUserModel::detail($user_id); } $val['is_check'] = empty($my_user['is_check']) ? 0 : $my_user['is_check']; $val['grade'] = empty($release_user['grade']) ? '' : $release_user['grade']; $image_list = ReleaseProjectImageModel::getImage($val["project_id"]); $val['image'] = empty($image_list[0]) ? '/static/default.png' : $image_list[0]['file_path']; } return $list; } }