@lexstile

Как провалидировать несколько полей в бд на lavarel для одного входного параметра?

Нужно проверить, что в таблице categories существует категория, где id = category_id, а также, что у этой же категории значение поля menu_id равно $this->menu->id.

По отдельности эти условия я могу проверить, но как их совместить в одно?
public function rules()
    {
        $rules = [
            'category_id' => ['string', 'exists:categories,id'],
            'name' => ['required', 'string', 'min:1', 'max:255'],
            'description' => ['string', 'max:255'],
            'price' => ['required', 'numeric', 'min:0', 'max:999999'],
            'photo' => ['image', 'mimes:jpg,png', 'max:10240'],
        ];

        return $rules;
    }
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Rule::exists('categories', 'id')->where(function ($query) {
            return $query->where(menu_id, $this->menu->id);
        }),
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы