在 laravel 资源中调用 null 上的成员函数 first()

Posted

技术标签:

【中文标题】在 laravel 资源中调用 null 上的成员函数 first()【英文标题】:Call to a member function first() on null in laravel resource 【发布时间】:2020-02-29 10:41:32 【问题描述】:

我尝试在我的资源中构建自定义响应,如下所示:

    class ApplicationResource extends JsonResource
    
        /**
         * Transform the resource into an array.
         *
         * @param  \Illuminate\Http\Request $request
         * @return array
         */
        public function toArray($request)
        
            return [
                'id' => $this->id,
                'sort'=> $this->sort,
                'is_seen' => $this->is_seen,
                'name' => $this->name,
                'position' => $this->position,
                'company' => $this->company,
                'education' => $this->education,
                'degree' => $this->degree,
                'phone' => $this->phone,
                'university' => $this->university,
                'cv_folder_id' => $this->cv_folder_id,
                'cv' => route('applications.cvShow', ['candidateCv' => $this->candidate_cv]),
                'comments'=>   ApplicationCommentsResource::collection($this->applicationComments),
                'ratingFields'=>   ApplicationRatingsResource::collection($this->applicationRatings()->get()),
                'jobPostRatingFields' =>   JobPostRatingFieldsResource::collection($this->jobPost->jobPostRatingFields),

            ];
        
    

但我只是得到错误。我得到的错误是:

在 null 上调用成员函数 first()

我不知道如何构建我的响应,如果集合为空,我不会收到任何错误?

【问题讨论】:

您可以发布您的操作代码吗? 【参考方案1】:

这仅仅意味着您想要检索不存在的值。 您可以像这样制作简单的条件:

if(is_null($this->sort))
    return "-";

祝你好运!

【讨论】:

以上是关于在 laravel 资源中调用 null 上的成员函数 first()的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 8在null上调用成员函数扩展()

Laravel 8 的问题:在 null 上调用成员函数 count()

Laravel 5 单元测试 - 在 null 上调用成员函数 connection()

Laravel在null上调用成员函数isActivated()

Laravel 护照抛出错误:“在 null 上调用成员函数 createToken()”

laravel 8 中的文件上传 - 在 null 上调用成员函数 getClientOriginalName() 时出错