Как решить проблему, класс ‘App Http Requests Web WebRequest’ не найден

#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 in RequestBucket.php (и добавить use инструкцию).