1
我试图使用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
作为模型的参数。
当我提交表单,我得到这个错误:调用未定义的方法照亮\数据库\查询\生成器::保存()
你应该避免定义模型中的保存功能。它应该去控制器。使用模型来定义关系,增变器等,但不是控制器任务 –