newResource() ->availableFields($request)); $field = $collection->whereInstanceOf(RelatableField::class) ->findFieldByAttribute($request->field(), function(){ evavel_send_json('error', 404); }); $query = $field->buildAssociatableQuery($request); $resources = $query->get(); if (is_array($resources)) { $resources = new Collection($resources); } $resources = $resources ->mapInto($field->resourceClass) ->map(function($resource) use($request, $field){ return $field->formatAssociatableResource($request, $resource); }) //->sortBy(function($item){return $item['display'];}) ->sortBy('label') ->values() ->toArray(); return $this->response(['resources' => $resources]); } }