laravel - Laravel 6如何将登录用户的ID存储在控制器中
问题描述
我正在尝试存储已登录用户的 ID,但出现此错误
ErrorException
array_map(): Argument #2 should be an array
这是控制器中的代码
public function store(Request $request)
{
if (!auth()->check()) {
abort(403, 'Only authenticated users can create new posts.');
}
$data = request()->validate([
'id' => $id = Auth::id(),
'content' => 'required',
'topic' => 'required',
'hashtag' => 'required'
]);
$check = Tweets::create($data);
return Redirect::to("form")->withSuccess('Great! Form successfully submit with validation.');
}
错误在这行代码中。
'id' => $id = Auth::id(),
我知道这应该是一个字符串,但要向您解释我正在尝试做什么,但我仍然没有找到任何解决方案。
解决方案
删除这个
'id' => $id = Auth::id(),
并添加
$data['id'] = Auth::id();
前
$check = Tweets::create($data);
那应该工作
推荐阅读
- python - Discord 机器人现在处理事件,如何解决?
- python - 了解插入,在 SQLAlchemy 中的冲突(upsert)
- matlab - Julia 的表现优于 MATLAB?
- html - Chrome不在扩展程序中显示本机选项对话框
- c++ - 在 VS2019 中使用 clang-cl 构建项目
- html - 如何设置 div 高度等于它的 div 高度?
- terraform - Tearraform:无法指出在同一循环中创建的父资源并出现循环错误
- sql-server - 从 SQL 数据库重写 URL - 有人有工作模型吗?
- google-apps-script - 在多个触发器上存储数组值
- jquery - 我讨厌这种重复,但我该如何解决它-jquery,bootstrap 4 datepicker