问题描述
我在laravel auth用户表中添加了一些字段,当我想创建新用户时,它给我错误调用数组中的成员函数hasFile()。
RegisterController.php
protected function create(array $data)
{
$jdate = Carbon::now();
//image
if($data->hasFile('image'))
{
$image = $data->file('image');
$imagee = Crypt::encryptString($image);
$image->storeAs("public\annonces\\".$jdate->format('F').$jdate->year,$imagee.'.'.$image->extension());
$data->image = "annonces\\".$jdate->format('F').$jdate->year."\\".$imagee.'.'.$image->extension();
}
//images
$dataim = array();
if($data->hasFile('images'))
{
foreach($data->file('images') as $file)
{
$namee = "public\\annonces\\".$jdate->format('F').$jdate->year."\\".time().'.'.$file->extension();
$name = Crypt::encryptString($namee).'.'.$file->extension();
$file->storeAs("public\\annonces\\".$jdate->format('F').$jdate->year,$name);
array_push($dataim,$name);
}
}
$data->images=json_encode($dataim);
return User::create([
'name' => $data['name'],'email' => $data['email'],'password' => Hash::make($data['password']),'telephone' => $data['telephone'],'ville' => $data['ville'],'ighrem' => $data['ighrem'],'autrei' => $data['autrei'] ?? null,'hay' => $data['hay'],'autreh' => $data['autreh'] ?? null,'adressem' => $data['adressem'],'adresser' => $data['adresser'],'image' => $data['image'] ?? null,'images' => $data['images'] ?? null
]);
}
解决方法
可以按以下方式使用
protected function create(Request $data){}