1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
 
namespace app\api\model\plus\release;
 
use app\common\model\plus\release\Project as ProjectModel;
use app\common\model\plus\release\DemandUser as DemandUserModel;
use app\common\model\plus\release\SupplyUser as SupplyUserModel;
use app\common\model\plus\release\ReleaseProjectImage as ReleaseProjectImageModel;
 
/**
 * 模型
 */
class Project extends ProjectModel
{
    /**
     * 获取提现明细
     */
    public function getList($user_id, $postdata)
    {
        $model = $this;
        if(!empty($postdata["keyword"])){
            $model = $model->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"]); 
            }
            
        }
        $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(['create_time' => 'desc'])
            ->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;
    }  
 
}