尝试访问类型为null laravel的值的数组偏移量

问题描述

我使用了所有五种方法,但没有一种起作用。而不是存储在数据库中。

我在+表中有一行

table

我的表单就像这个演示

form

我的刀片

NULL + 'anything'

我的控制器

educationals

我收到此错误

error

获得dd后:

dd

解决方法

您使用了错误的变量来获取期望值。在您的示例中,grade_id不是数组,而是空值,因为您在请求正文的根级别中没有grade_id,但是在study属性中。

如果$request->study已经是包含那些所需值的数组,那么您只需通过$request->study[property]检索它们即可。

考虑:

Educational::firstOrCreate(['user_id' => auth()->id()],[
    'grade_id' => $request->study['grade_id'],'field' => $request->study['field'],'institution_id' => $request->study['institution_id'],'branch' => $request->study['branch'],'institution_education' => $request->study['institution_education'],'gpa' => $request->study['gpa'],'nation_id' => $request->study['nation_id'],'province_id' => $request->study['province_id'],'town_id' => $request->study['town_id'],'province_name' => $request->study['province_name'],'town_name' => $request->study['town_name'],'entrance' => $request->study['entrance'],'graduate' => $request->study['graduate'],'currently_studying' => $request->study['currently_studying'] ? true : false,]);

您会看到只是通过学习来检索所有内容。

事实上,这很容易,因为所有请求字段的名称都与模型的属性相同,因此请执行以下操作:

Educational::firstOrCreate(['user_id' => auth()->id()],$request->study);