Antonio
Есть модель Card, у которой есть связь с моделью Client (один ко многим). При запонении карточки сначала создаю new Card; Затем ассоциирую ее с клиентом $card->client()->associate($client); Когда пытаюсь сохранить модель в базу, выдается ошибка. что поле client не найдено. Почему Client не сохраняется как client_id в моделе?
Yushkevich
А как у тебя связи в моделях прописаны?
Antonio
вопрос, снят. Видимо остатки старой записи в сессии остался. Начал процесс сохранения с нуля и все ок
Antonio
как определить, есть ли в текущем запросе определенное поле, пусть и пустое?
Никита
по имени этого поля
Никита
if !empty
Никита
если не пустое
Никита
или даже isset
Никита
вообще на наличие такой записи
Antonio
isset($request->name) так чтоли?
Никита
аа это ж лара сори
Никита
ну так тоже поробуй
Никита
мало ли
Никита
но у лары там своя еротика вроде
Anonymous
$request->has('name')
Anonymous
Пора перестать цитировать документацию
Никита
+
Antonio
$request->has('name')
выдаст false если name='', но поле есть, значит мне нужно чтобы показало true
Antonio
первое что делаю, лезу в докментацию
Никита
тогда вытащи значение
Никита
и проверь на пустоту
Никита
empty
invariance
ну епт
Юрий
выдаст false если name='', но поле есть, значит мне нужно чтобы показало true
Вообще эта логика ужасна. Если поле пустота - его нет.
Antonio
Не всегда
invariance
в рест апи в фильтрах есть пустые поля
invariance
которые работают по принципу true\false
invariance
и имеют по сути пустое значение
Antonio
вот у меня есть контролеер, который занимается обновлением свойств(приходят они со страницы ajax). Иногда пользователь хочет очистить поле. Соответственно я присылаю переменную с пустым значением, которую в дальнейшем надо так же записать в модель.
Anonymous
Кажется нашёл, $request->exists('name')
Anonymous
В trait InteractsWithInput
invariance
так никто не делает, че тут пояснять
invariance
очищать поле пустым значением переменной - глупость
Юрий
Не присылай поле если надо очистить
Antonio
а как его очищать? отдельным запросом?
invariance
да
Юрий
О чем и шла речь, сразу написал что говнопрактика
invariance
пихать логику очистки поля во фронт - не бест практик
Antonio
никаких аргументов я пока не услышал
Юрий
Ты сам его привел задав дурацкий вопрос как проверить на пустоту
Antonio
пихать логику очистки поля во фронт - не бест практик
почему? ведь это поле текстовое и его значение абсолютно зависит от пользователя
invariance
да? Ну тогда дай пользователю доступ к бд сразу
Antonio
invariance
сейчас посмотрел, в ресте все же нет пустых полей, так что @exileum беру свои слова назад)
Юрий
Всегда удивляло как несут худшие практики функционального пхп во фрейм нормальный
Юрий
И при этом думают что правы
Юрий
invariance
почему? ведь это поле текстовое и его значение абсолютно зависит от пользователя
если поле должно быть пустым, то зачем его вообще отправлять?
invariance
если хочешь очистить поле, то конечно надо отдельный метод
invariance
пустое поле можно юзать максимум для отправленных форм
Anonymous
Суть разговора выше о том, что в интернете кто-то неправ и нужно доказать, что он всё делает неправильно?
Юрий
Суть разговора выше о том, что в интернете кто-то неправ и нужно доказать, что он всё делает неправильно?
Суть разговора в том что надо сделать, чтобы не задавать и даже не думать о том как поле на пустоту проверить
invariance
хотя, бля....
Юрий
Например
invariance
например отправка формы
Юрий
Например ничего не отправляй если поле пустое
invariance
дык форма же
invariance
сабмитится целиком
Anonymous
а если нужно какое-то текстовое значение в patch обнулить?
Юрий
Да но has на поле даст null
Юрий
А зачем тебе там ""?
invariance
ну ладно
invariance
тогда да, бред
invariance
пустые строки отправлять
Юрий
Короче каждый делает как считает нужным. Может в базе с пустыми полями есть свой шарм
invariance
не, нету
Никита
та не вряд ли
Antonio
ну есть страница, с заполнением профиля, при потере инпутом фокуса значения отправляются на сервер. Все это работает при помощи одного роута/метода контроллера. Вы предлагаете добавить проверку на пустоту значения во вронтенде и в зависимости от этого отправлять запрос на другой роут. Какой-то лишний огород получается. Вы еще скажите, что для каждого поля нужно прописать свой роут
invariance
null !== "", поэтому заебешься потом разные проверки херачить на одно поле
invariance
т.е. на форме с 5 полями ты сделаешь 5 запросов?
Antonio
да. И объяснять зачем это разнесено на 5 запросов, я не хочу.
Юрий
Ммм, любители аякса
invariance
да. И объяснять зачем это разнесено на 5 запросов, я не хочу.
такая практика году в 2002 была актуальна
Юрий
Шоб на мобилах жизнь медом не казалась