【发布时间】:2019-09-24 11:59:50
【问题描述】:
我正在尝试使用Auth::user()->id; 并将它们与'user_id 下的另一个模型一起发布,这样我就不必手动为用户提供'user_id'。
我已经检查并包含了所需的文件,并且我正在从 用户表
中获取用户"id"
$user_id = Auth::user()->id;
echo $user_id; //this is returning right user "id"
我在调用变量并将其发布到控制器函数中的数据库时遇到问题,任何帮助都可以。
public function store(Request $request)
{
$user_id = Auth::user()->id;
$this->validate($request, [
'token1' => 'required',
'token2' => 'required'
]);
$tokens = new Tokens([
'user_id' => $user_id,
'token1' => $request->get('token1'),
'token2' => $request->get('token2')
]);
$tokens->save();
return view('/home');
}
将用户表中的用户"id"发布到令牌表的"user_id",以便我可以使用模型
收到此错误:
SQLSTATE[23000]:违反完整性约束:19 NOT NULL 约束失败:tokens.user_id(SQL:插入“tokens” ("token1", "token2", "updated_at", "created_at") 值 (asddsadf, sdfasdf, 2019-09-24 11:53:57, 2019-09-24 11:53:57))
我的迁移是:
$table->bigIncrements('id');
$table->integer('user_id');
$table->string('token1');
$table->string('token2');
$table->timestamps();
【问题讨论】:
-
这里有什么问题?你有什么错误吗?
-
更新线程出错
-
我认为
user_id字段在您的模型中不可填写,请查看您的模型和$fillables数组 -
使用
Tokens型号代码更新您的问题。 -
解决了谢谢:)