删除Resource :: Collection中的空数组不起作用Laravel

时间:2018-07-08 08:24:58

标签: php laravel

我想在返回空数组时删除它。我一直在尝试许多不同的方法,请帮助 我的控制器看起来是:

public function index()
{
    return JobsResource::collection(Jobs::all())->filter();
}

我的资源文件外观:

class JobsCollection extends Resource

{

public function toArray($request)
{
    $applicants_count =Job_applicants::where('job_id',$this->id)->get()->count();

    if ($applicants_count>0) {
        return [
            'id' => $this->id,
            'title' => $this->title,
            'deadline' => $this->deadline,
            'applicants_count' => $applicants_count,
            'applicants' => new EmployeesResource($this->Employeess->take(2))
        ];
    }
}

}

它总是返回一个空数组 输出:

[
 [],

{       “ id”:99,       “ title”:“施工管理员-林地”,       “截止日期”:“ 2018-06-30”,       “ applicants_count”:10,       “申请人”:[          {             “ name”:“求职者先生”,             “枢”:{                “ job_id”:99,                “ employee_id”:1             }          },          {             “ name”:“ Michale Feil”,             “枢”:{                “ job_id”:99,                “ employee_id”:2             }          }       ]    }

1 个答案:

答案 0 :(得分:0)

控制器:

public function index() {
    $jobs = Jobs::has('Employeess')->with('Employeess')->withCount('Employeess')->get();

    return JobsResource::collection($jobs);
}

资源文件:

class JobsCollection extends Resource
{

    public function toArray($request)
    {
            return [
                'id' => $this->id,
                'title' => $this->title,
                'deadline' => $this->deadline,
                'applicants_count' => $this->Employeess_count,
                'applicants' => new EmployeesResource($this->Employeess->take(2))
            ];
    }
}