我想在存储方法中插入使用的数据文件(数组$data(,就像RegisterController.php的创建方法一样,使用验证系统,但它会给我错误
函数App\Http\Controllers\FileController::store((的参数太少,传递了0,而需要1。
FileController.php
public function store(array $data)
{
$file = new File();
$jdate = Carbon::now();
$request = app('request');
if ($request->hasFile('image')) {
$image = $request->file('image');
$imagee = Crypt::encryptString($image);
$image->storeAs("publicprofiles\".$jdate->format('F').$jdate->year,$imagee.'.'.$image->extension());
$file->image = "profiles\".$jdate->format('F').$jdate->year."\".$imagee.'.'.$image->extension();
}
$im = $file->image;
$validator = Validator::make($data, [
'category_id'=> ['bail','required'],
'titre' => ['bail','exclude_unless:category_id,1', 'string', 'min:3', 'max:255'],
'name' => ['bail','exclude_unless:category_id,1', 'string', 'min:3', 'max:255'],
'last' => ['bail','exclude_unless:category_id,1', 'string', 'min:2', 'max:255'],
'image' => ['bail','mimes:jpeg,jpg,png,gif,svg','exclude_unless:category_id,1','max:2048'],
]);
return File::create([
'category_id' => $data['category_id'],
'titre' => $data['titre'],
'name' => $data['name'],
'last' => $data['last'],
'image' => $im
]);
return Redirect::to("/")
->withSuccess('Great! file has been successfully uploaded.');
}
从需要实例化请求的表单中获取数据:
use IlluminateHttpRequest;
public function store(Request $request)
{
......
在RegisterController
中有一个名为RegistersUsers
的特性,它处理请求值,然后将它们发送到RegisterController
的create
方法,以创建新的User
。在您的情况下,存储方法需要一个参数,但您没有从任何位置传递该参数。您必须使用Request
类来获取或发布请求数据,也可以使用request()
全局帮助程序。
如果你使用类,那么它就像
use IlluminateHttpRequest;
public function store(Request $request)
{
$a = $request->a;
}
或者如果您使用辅助功能
public function store()
{
$a = request('a');
}