Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Подскажите, в laravel 5.4
в таблице client_image может быть только одна строка с
is_main== "Y"
Поэтому условие в валидации:
'is_main' => 'in:Y,N|unique:client_image,is_main,NULL,client_id,client_id,' . $client_id,
не подходит так как нужно любое кол-во
is_main== "N"
А как правильно и можно ли примерчик?
Спасибо !
Не в сети
Писать свой вариант правила валидации
Не в сети
Писать свой вариант правила валидации
Это Custom Validation ?
А можно ли ссылочку на что-нить похожее?
Не в сети
Не в сети
— сперва проверяешь допустимое ли значение, допустимых у тебя всего два — если нет, то false
— если N — то true
— если Y, то считаешь сколько картинок для этого клиента с записью Y (кроме текущей), если больше 0, то false иначе true
Но вообще я бы просто поменял логику и сделал без валидатора. Если идет картинка с признаком is_main, то очищал бы этот признак у других картинок и сохранля это свойства в переданной (в транзакции, так как тут две операции).
Не в сети
Не в сети
Спасибо за ссылки - помогло!
Булеан (0/1) привык по возможности в пхп не юзать из-за необходимости делать доп проверки на '0'.
Или в laravel этап проблема решена ?
Не в сети
Не в сети
Булеан (0/1) привык по возможности в пхп не юзать из-за необходимости делать доп проверки на '0'.
$x = (bool)$x;
скастует 0, '0', null и '' в false, а 1 и '1' – в true. кроме того валидация boolean в ларавеле воспринимает также значения 'on', 'off' и некоторые другие. при сохранении данных в модель кастование отдельных полей определяется свойством $casts модели. всё это есть в документации
Изменено constb (14.04.2017 16:26:19)
Не в сети
Страницы 1