php - 删除 Resource::Collection 中的空数组不起作用 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":"Construction Administrator - The Woodlands", "deadline":"2018-06-30", "applicants_count":10, "applicants":[ { "name":"Mr.求职者”,“pivot”:{“job_id”:99,“employee_id”:1 } },{“name”:“Michale Feil”,“pivot”:{“job_id”:99,“employee_id”:2} } ] }
解决方案
控制器:
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))
];
}
}
推荐阅读
- scala - 不支持的文字类型类 scala.runtime.BoxedUnit
- nginx - 使用 nginx/puma 下载 Rails 5.2.1 ActiveStorage 文件被截断
- excel - 满足所有条件的 VBA 中的 Sumifs
- datepicker - 如何在引导日期选择器中为长回日期设置 beforeShowDay?
- powershell - 删除旧文件夹并保留最新的
- angular - highcharts-angular 从数据库动态更新
- c# - 自定义 DataGridViewButtonCell 上的右对齐按钮
- azure - 如何在 Azure 中开发和部署几个不同的机器人?
- scala - 如何从 scala 中的 Map.Entry 集中获取键或值集?
- android - AbstractAccountAuthenticator 只允许 1 个帐户