@fgjcirifb

Как не повторять запросы в БД?

Валидирую инпут с помощью специальных классов Laravel, которые создаются с помощью make:request.

Допустим есть такой класс:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class BlaBla extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        $comment = Comment::find($this->route('comment'));

        return $comment && $this->user()->can('update', $comment);
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [

        ];
    }
}


Как вы видите, в методе authorize() делаем запрос в БД и проверяем наличие этой модели. Но потом то же самое делаем в контроллере (получаем модель), это ведь 2 одинаковых запроса, что не очень правильно. Как можно передать модель в контроллер из этого класса?
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы