Michael
Кстати, Что значит "файл генерирующий..."? Скрипт? Или картинка шаблон?
Vladislav
Просто хочу уточнить, есть ли в моей первой реализации редактирвоания юзера невидимые мне подводные камни
Vladislav
public function editUser(Request $request){ $user = Auth::user(); if (count($request->all())) { if(trim($request->password == '')){ $input=$request->except('password'); }else{ $input=$request->all(); } if(!is_null($request->name)) $input['name']=$request->name; $user->update($input); } return view('user.edit-user'); }
Vladislav
if(!is_null($request->name)) $input['name']=$request->name; таких вот if будет 6-7 под каждое поле
Anonymous
"Момент когда что то пошло не так"
Vladislav
Что касается пароля, то он мутаторится в модели
Vladislav
public function setPasswordAttribute($password) { $this->attributes['password'] = bcrypt($password); }
Vladislav
И проверил заносится хешем
adikalon
так куда файл положить то?
Aleksey Y.
Причём лучше, если отдельный реквест для этого создать с правилами проверки. Хотя кому как больше нравится/привык
Vladislav
Используй валидатор лучше
валидацию пароля как раз собираюсь сейчас добавить... отдельный реквест?
Aleksey Y.
Aleksey Y.
php artisan make:request User
invariance
мне для апишки не оч стандартный реквест подошел
Vladislav
Не пароля, а всех входных данных пост реквеста
на этапе создания регистраци, я описал правила для полей. protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|string|max:255', 'last_name' => 'required|string|max:255', ..... ]); }
invariance
поэтому валидация ручками)
invariance
ну, через фасад коэшн
Vladislav
Как понимаю мне его теперь в модель юзер тянуть,
Vladislav
?
Vladislav
поэтому валидация ручками)
так там можно свои правила описывать через регикс
invariance
ват
invariance
дело не в правилах, а в реакции на ошибку
invariance
там слишком дохуа магии
invariance
не обязательно первым кста
invariance
у меня вторым передается)
Aleksey Y.
Ну, так читать проще
Aleksey Y.
Дело привычки
invariance
да это уже вкусовщина :D
Vladislav
Укажи эти правила в реквесте и передавай его своему методу контроллера первым параметром
к сожалению пока мало о чем говорит( Пойду смотреть документацию и приемры прежде чем велик изобрету
Aleksey Y.
Просто параметров много может быть и реквест потеряется)
invariance
ну
invariance
для апишки более эстетично выглядит, когда сначала айдишники ресурсов вызываемых передаются, а потом только тела запроса (как и в url собсна)
invariance
кстати, вот чего в ларке не хватает, это такого же php artisan make:response
Vladislav
Опять же, на вкус и цвет)
я не загнул, когда для регистраци отдельный контролер завел?
invariance
нет
invariance
даже в стандартной реге так
invariance
контроллеры вообще никак не должны быть связаны с сущностями
invariance
типо не надо все пихать в один контроллер User
invariance
:D
Vladislav
нет
тогда получается валидацию что я описал в регистрации, нужно вызвать в модели юзера сейчас?
Vladislav
а не вносить в модель дубль
invariance
в смысле вызвать в модели юзера
Vladislav
в смысле вызвать в модели юзера
public function editUser(Request $request){ вызываетчя в модели юзера
Dima
Ладно, хлопцы - вопрос со звёздочкой: как валидируете параметры прута, типа {id?}, например на то, что такой вообще существует.
Vladislav
тфу
invariance
а рега тут при чем
Vladislav
контролере
Dima
Роута*
invariance
вот и вся валидация
invariance
вроде есть магия какая то
invariance
но это все вкусовщина как всегда
Vladislav
а рега тут при чем
при том что валидацию можно поидее описать и там и там, но правильнее как понимаю из регистраци позаимствовать
Dima
if(request->param !== null)
Эмм... Найс трай. Существует в базе а не вообще))
invariance
при том что валидацию можно поидее описать и там и там, но правильнее как понимаю из регистраци позаимствовать
в одном случае ты редактируешь юзера, в другом регаешь. И у тебя одинаковая валидация?
invariance
лучше сделай два разных реквеста, потому что вангую - в будущем у тебя два этих метода разойдутся по полям
Dima
Переопределить метод all() форм реквеста не предлагать))
invariance
Переопределить метод all() форм реквеста не предлагать))
$validator = Validator::make([ 'paramname' => 'exists:table,field' ]);
Vladislav
$user = Auth::user(); if (count($request->all())) { if(trim($request->password == '')){ $input=$request->except('password'); }else{ $input=$request->all(); } $validator=$this->validator($input); if($validator -> passes()) { if (!is_null($request->name)) $input['name'] = $request->name; if (!is_null($request->last_name)) $input['last_name'] = $request->last_name; if (!is_null($request->poster)) $input['post'] = $request->poster; $user->update($input); } } return view('user.edit-user');
invariance
что за жесть
invariance
:D
Vladislav
😔
Dima
isset && !empty
У тебя опциональные параметры роута в реквест попадают?)))) Ну-ну
invariance
мне дали как то на ревью проджект на люмене. Так вот - похоже
invariance
(только там было раз в 10 хуже)
Dima
Тоже самое. Откуда /model/{id} попадет в реквест?
Aleksey Y.
В чем именно вопрос?