#laravel-5
#laravel-5
Вопрос:
Я создаю запрос в App Http Requests Web, в котором он показывает мне ошибку.
Класс ‘App Http Requests Web WebRequest’ не найден
Вот код моего запроса CreateBucket.php:
<?php
namespace AppHttpRequestsWeb;
class CreateBucket extends WebRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'bucket_name' => 'required|string|string|max:30',
'bucket_type' => 'required|string|string|max:30',
'bucket_image' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg',
];
}
}
И вот мой код контроллера корзины:
<?php
namespace AppHttpControllersWeb;
use IlluminateHttpRequest;
use AppHttpControllersController;
use AppHttpRequestsWebCreateBucket;
use AppBucket;
class BucketController extends Controller
{
public function index(Request $request)
{
$buckets = Bucket::orderBy('id','ASC')->paginate(10);
return view('buckets.index',compact('buckets',$buckets))
->with('i',($request->input('page',1) - 1) * 10);
}
public function create()
{
return view('buckets.create');
}
public function store(CreateBucket $request)
{
if($request->hasFile('bucket_image')) {
$bucket_image = $request->file('bucket_image');
$bucket_image_name = time().'.'.$bucket_image->getClientOriginalExtension();
$path = public_path('Storage/BucketImages');
$bucket_image->move($path, $bucket_image_name);
$bucket_image = 'Storage/BucketImages/'.$bucket_image_name;
} else {
$bucket_image = NULL;
}
$category = Category::create([
'bucket_name' => $request->input('bucket_name'),
'bucket_image'=> $bucket_image,
'bucket_type' => $request->input('bucket_type'),
]);
return redirect()->route('buckets.index')
->with('success','Bucket created successfully');
}
Пожалуйста, помогите мне устранить эту ошибку. Спасибо.
Комментарии:
1. Как указано в ошибке, у вас нет класса с именем
WebRequest
в вашемAppHttpRequestsWeb
пространстве имен. Где находится WebRequest? Правильное ли пространство имен?
Ответ №1:
Мой WebRequest.php отсутствует в папке Requests, поэтому он выдал мне эту ошибку. Вот WebRequest.php файл, который я создал, и моя проблема решена.
<?php
namespace AppHttpRequestsWeb;
use IlluminateContractsValidationValidator;
use IlluminateFoundationHttpFormRequest;
class WebRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
//
];
}
}
Комментарии:
1. Или вы могли бы просто заменить
extends WebRequest
наextends FormRequest
inRequestBucket.php
(и добавитьuse
инструкцию).