它没有将任何数据插入到我的mysql数据库中.....我也在模型用户中插入了可填充字段

时间:2019-03-26 03:06:23

标签: php laravel-5

受保护的函数create(array $ data)    {$ request = request();

    $profileImage = $request->file('image');
    $profileImageSaveAsName = time(). "." . $profileImage->getClientOriginalExtension();
    $profileImage->move('img', $profileImageSaveAsName);

    $user=new User;
    return $user->create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
        'image' => $profileImageSaveAsName,
    ]);
}

2 个答案:

答案 0 :(得分:1)

确保您拥有<form enctype="multipart/form-data">


另外,在保存图像时,您的工作有些复杂。 (实际上,我认为您应该存储在storage/app/public/images中而不是public/images中)

$profileImage = $request->file('image');
$fileName = time() . Auth::id() . "-profile." . $profileImage->getClientOriginalExtension();

$path = $profileImage->storeAs('public/images', $fileName);

为此,请确保您运行symlink命令:php artisan storage:link

答案 1 :(得分:0)

您首先以表格<form enctype="multipart/form-data">添加的支票

第二,您无法获得Auth::id()

由于未注册用户,因此不会创建会话,那么如何从Auth获取ID。 您还可以通过转储检查并dd(Auth::id)消亡,它将给出空值。

关于验证。 我猜您忘记了<form enctype="multipart/form-data">的位置,并且还检查了验证器中输入字段的名称是否相同。