
Aleks
25.10.2018
06:18:30
потом fill и save

Oleg ?
25.10.2018
06:18:44
$model = Rubrics::where('id', $request->id)->first();
$model->fill($data);
$model->save();
BadMethodCallException
Call to undefined method Illuminate\Database\Eloquent\Builder::fill()

Google

Oleg ?
25.10.2018
06:19:14
а точно филл?
а то чет говорит метода нет )

Даниил
25.10.2018
06:19:50

Oleg ?
25.10.2018
06:20:06
да я уже читаю да
странно
а че оно тогда : - |

Aleks
25.10.2018
06:20:20
$model = Rubrics::firstOrNew('id', $request->id);
$model->fill($data);
$model->save();
Вот так попробуй
или там массив в параметре? не помню.
Возможно вот должно быть $model = Rubrics::firstOrNew(['id' => $request->id]);

Даниил
25.10.2018
06:21:54

Oleg ?
25.10.2018
06:21:54
я опять метод перепутал xD

Даниил
25.10.2018
06:22:22
Rubrics::findOrNew($request->id)

Google

Oleg ?
25.10.2018
06:23:16
$model = Rubrics::where('id', $request->id)->first();
$model->fill($data);
$model->save();
$model->description()->create($data);
ну вместо одно строки такое вышло
некрасиво, но сойдет

Aleks
25.10.2018
06:23:27

Даниил
25.10.2018
06:23:46

Aleks
25.10.2018
06:23:52
ага

Даниил
25.10.2018
06:24:04
три ` в начале и три в конце блока нужного :)

Aleks
25.10.2018
06:24:33
$model->save();
спс

Oleg ?
25.10.2018
06:30:14
когда именно поис
к

Даниил
25.10.2018
06:30:38
ну или find :)

Oleg ?
25.10.2018
06:30:42
я просто Rubrics::find($request->id); обычно юзаю
ну вот да, ок
просто мб смысл какой есть

Даниил
25.10.2018
06:31:51
не, я просто за код Алекса зацепился, вот и все
если тебе только апдейт - то просто find()

Oleg ?
25.10.2018
06:32:24
ага, ня

Aleks
25.10.2018
06:33:50
разве не так? если он null вернет, то fill ошибку выдаст

Google

Даниил
25.10.2018
06:35:13
Если ты findOrNew делаешь, то если записи не было, то при save он ее создаст
Учитывая, что кейс тут именно обновление - такого поведения не нужно
Можно делать findOrFail, тогда сразу ModelNotFoundException бросится, если записи нет

Aleks
25.10.2018
06:35:58
кейс был про создание и апдейт )
у меня на создание метод просто валидацию делает и отдаёт, хотел реюзать как есть для апдейта, данные одинаковые выходит

Илья
25.10.2018
06:36:00
в таком случае лучше findOrFail

Даниил
25.10.2018
06:36:33

Oleg ?
25.10.2018
06:36:52
сейчас попробую
ну да
но у меня валидатор стоит на id
я чет не подумал, что его подделать могут
if($model = Rubrics::find($request->id)) {
$model->fill($data);
$model->save();
$model->description()->create($data);
}
завернул так
если ниче не происходит просто редирект назад делает
ситуация когда id не тот может быть только при подтасовке данных в этом случае

Aleks
25.10.2018
06:38:06

Oleg ?
25.10.2018
06:38:07
так что норм

Aleks
25.10.2018
06:38:26

Oleg ?
25.10.2018
06:38:43

Aleks
25.10.2018
06:38:45
самого значения в случае создания

Oleg ?
25.10.2018
06:38:47
хм

Google

Aleks
25.10.2018
06:38:57

Oleg ?
25.10.2018
06:39:06
я чет никогда даже не задумывался
и как блин этот метод обозвать +_+

Aleks
25.10.2018
06:40:05
save )

Oleg ?
25.10.2018
06:40:14
сойдёт
❤️

Илья
25.10.2018
06:41:14
ну такое

Aleks
25.10.2018
06:41:18
если вдруг надо будет проверить - создание идет обновление можно между до save() проверить $model->id если там пусто - значит создаешь

Илья
25.10.2018
06:41:57
обновление - это обновление
создание - это создание
зачем перемешивать?

Oleg ?
25.10.2018
06:42:19

Aleks
25.10.2018
06:42:36

Oleg ?
25.10.2018
06:43:17
Платят к сожалению за готовый функционал ))

Илья
25.10.2018
06:43:41

Даниил
25.10.2018
06:44:12

Oleg ?
25.10.2018
06:44:56
когда филлаблы указаны и обращение идёт к модели и связанной модели
умозрительно просто не оч понимаю

Илья
25.10.2018
06:46:08
если сущности с указанным айди нет, ты должен отдать 404

Даниил
25.10.2018
06:46:48
Смотри, у тебя в базе есть записи с id 1-15
ты заходишь в условную форму редактирования записи с id 5
меняешь в html значение поля id на 400 и делаешь апдейт
ты ожидаешь, что при таком коде не обновится ничего, так как записи с id 400 в базе нет, а по факту он ее тебе создаст
потому что в апдейте ты используешь метод findOrNew

Google

Даниил
25.10.2018
06:48:50
если есть желание сократить код - можно часть с заполнением модели и ее сохранением сделать отдельным методом приватным, на вход подавать твою модель
но тут особого смысла нет

Oleg ?
25.10.2018
06:49:59
значит я норм всё делал xD

Artem
25.10.2018
06:55:46

Nik
25.10.2018
06:56:18
Эт временно
Ну да, ну да. Лет на 7, пока проект не умрет

Евгений
25.10.2018
06:57:43
Подскажите, может кто нибудь юзал какой-то пакет для реализации атрибутов у товаров? Цвета, размеры, мощности и вот это вот всё... И объединение атрибутов в группы атрибутов. И назначение групп атрибутов разным категориям товаров)) Или лучше самому запилить?
как ведёт себя EAV на товарах от 500к и 10к атрибутов, интересно

Aleks
25.10.2018
07:01:43

Евгений
25.10.2018
07:02:35
какая примерно схема таблицы была? Как решать когда у атрибутов разные еденицы измерения, которые надо выводить на фронте, и при этом адаптировать под Мега, Кило и тд?

Aleks
25.10.2018
07:02:59
едИницы )

Евгений
25.10.2018
07:03:20
да пофик)
и еще если для разных атрибутов нужны разные типы (селект, чекбокс, радио, текст...)

Oleg ?
25.10.2018
07:04:13
звучит как задача для json

Aleks
25.10.2018
07:04:28

Евгений
25.10.2018
07:05:10
такая простая мне не подойдет :( Ладно, покопаю пока готовые решения, изучу подходы и буду свой придумывать)

Oleg ?
25.10.2018
07:05:35

Евгений
25.10.2018
07:06:12
мне кажется потом фильтровать по json когда много товаров будет не оптимально совсем. Может ошибаюсь. Изучу и такой подход тоже

Oleg ?
25.10.2018
07:06:53
ну тогда если только релейшеншипами