【发布时间】:2017-02-26 00:06:41
【问题描述】:
我正在尝试使用 Auth::user()->id 将 user_id 作为“外键”插入问题表中。
我的模特:
public function user(){
return $this->belongsTo('App\User');
}
//saves post
public function saveQuestion(buildQuestion $buildQuestion, $userId){
$buildQuestion->user_id = $userId;
return $this->user()->save($buildQuestion);
}
我的控制器:
public function submitQuestion(Request $request,buildQuestion $buildQuestion){
$answers = new buildQuestion($request->all());
if (Auth::user()){
$buildQuestion->saveQuestion($answers, Auth::user()->id);
}else if(Auth::guest()){
abort (403, 'Not Logged In');
}
}
我认为我不应该将 buildQuestion 作为模型中的参数传递。
我在提交表单时收到此错误:调用未定义的方法 Illuminate\Database\Query\Builder::save()
【问题讨论】:
-
您应该避免在模型中定义保存函数。它应该转到控制器。使用模型定义关系、修改器等,但不使用控制器任务