【发布时间】:2021-09-10 04:22:17
【问题描述】:
SQLSTATE[HY000]:一般错误:1364 字段 'user_id' 没有 默认值
为什么我得到那个错误?以及如何解决?
这是我的控制器的样子
public function create(Request $request, Question $question)
{
$data = request()->validate([
'standart_id' => 'required',
'question.*.question' => 'required',
'question.*.question_id' => 'required',
'user_id' => 'required',
'question.*.answer' => 'required',
'files_link' => 'required',
'description' => 'required',
]);
$data['user_id'] = Auth()->id();
// dd($data);
// dd($request->input('question.*.standart_id'));
$responses = $question->responses()->createMany($data['question']);
}
这是我在 deadump $data 上得到的结果
array:5 [▼
"standart_id" => "2"
"user_id" => 3
"files_link" => "http://127.0.0.1:8000/auditee/1/respons/"
"description" => "asdasd"
"question" => array:3 [▼
0 => array:3 [▼
"question" => "test"
"question_id" => "4"
"answer" => "Ya"
]
1 => array:3 [▶]
2 => array:3 [▶]
]
]
有人可以帮我解决这个问题吗?
已编辑
创建路径
Route::post('/standart/{question}/answer/post', [App\Http\Controllers\ResponsController::class, 'create']);
响应模型
protected $guarded = [];
public function question()
{
return $this->belongsTo(Question::class);
}
public function standart()
{
return $this->belongsTo(Standart::class);
}
问题模型
public function standard()
{
return $this->belongsTo(Standart::class);
}
public function responses()
{
return $this->hasMany(Response::class);
}
标准型号
protected $guarded = [];
public function questions()
{
return $this->hasMany(Question::class);
}
public function responses()
{
return $this->hasMany(Response::class);
}
【问题讨论】: