Michael
Кстати, Что значит "файл генерирующий..."? Скрипт? Или картинка шаблон?
adikalon
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
Что касается пароля, то он мутаторится в модели
Vladislav
public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
Vladislav
И проверил заносится хешем
adikalon
так куда файл положить то?
Aleksey Y.
Aleksey Y.
Причём лучше, если отдельный реквест для этого создать с правилами проверки. Хотя кому как больше нравится/привык
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
?
invariance
ват
invariance
дело не в правилах, а в реакции на ошибку
invariance
там слишком дохуа магии
Aleksey Y.
invariance
не обязательно первым кста
invariance
у меня вторым передается)
Aleksey Y.
Ну, так читать проще
Aleksey Y.
Дело привычки
invariance
да это уже вкусовщина :D
Aleksey Y.
Просто параметров много может быть и реквест потеряется)
invariance
ну
invariance
для апишки более эстетично выглядит, когда сначала айдишники ресурсов вызываемых передаются, а потом только тела запроса (как и в url собсна)
Aleksey Y.
invariance
кстати, вот чего в ларке не хватает, это такого же php artisan make:response
Aleksey Y.
invariance
нет
invariance
даже в стандартной реге так
invariance
контроллеры вообще никак не должны быть связаны с сущностями
Aleksey Y.
invariance
типо не надо все пихать в один контроллер User
invariance
:D
Vladislav
нет
тогда получается валидацию что я описал в регистрации, нужно вызвать в модели юзера сейчас?
Vladislav
а не вносить в модель дубль
invariance
в смысле вызвать в модели юзера
Dima
Ладно, хлопцы - вопрос со звёздочкой: как валидируете параметры прута, типа {id?}, например на то, что такой вообще существует.
Vladislav
тфу
invariance
а рега тут при чем
Vladislav
контролере
Dima
Роута*
invariance
invariance
вот и вся валидация
invariance
вроде есть магия какая то
invariance
но это все вкусовщина как всегда
Vladislav
а рега тут при чем
при том что валидацию можно поидее описать и там и там, но правильнее как понимаю из регистраци позаимствовать
invariance
Vladislav
invariance
лучше сделай два разных реквеста, потому что вангую - в будущем у тебя два этих метода разойдутся по полям
Dima
Переопределить метод all() форм реквеста не предлагать))
Vladislav
Aleksey Y.
Aleksey Y.
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
😔
invariance
мне дали как то на ревью проджект на люмене. Так вот - похоже
invariance
(только там было раз в 10 хуже)
Aleksey Y.
Dima
Тоже самое. Откуда /model/{id} попадет в реквест?
Dima
Aleksey Y.
В чем именно вопрос?