#javascript #ajax #laravel
#javascript #ajax #laravel
Вопрос:
Как проверить более одного поля в laravel? например: я хочу, чтобы corporate_id, brand_id или hotel_id не имели одного и того же имени каталога. то есть hotel_id 1 не может иметь 2 имени каталога «По умолчанию».
как сделать такую проверку в laravel? Спасибо
Комментарии:
1. что вы пробовали до сих пор?? какова ваша текущая структура кода?? будет легко ответить, зная вашу кодовую базу.
2. оо, это мой контроллер tanyakoding.com/s/d1 и посмотреть tanyakoding.com/s/d2
3. не просто добавляйте картинку .. обновите свой вопрос кодом как кодом.
4. имя каталога??? что вы имеете в виду под этим?
5. извините, имя каталога — это данные в поле заголовка.
Ответ №1:
Я думаю, вы можете использовать пользовательские правила проверки. С этим легко справиться https://laravel.com/docs/8.x/validation#using-rule-objects
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param array $value
* @return bool
*/
public function passes($attribute, $catalogName)
{
$catalog = Catalog::where('title', $catalogName);
// corporate_id, brand_id or hotel_id
if (Input::get('corporate_id')) {
$catalog->where('corporate_id', Input::get('corporate_id'));
}
if (Input::get('brand_id')) {
$catalog->where('brand_id', Input::get('brand_id'));
}
if (Input::get('hotel_id')) {
$catalog->where('corporate_id', Input::get('hotel_id'));
}
if ($catalog->first()) {
return false;
}
else {
return true;
}
}