
Varyen
10.08.2018
12:34:15
в зависимости от загрузки и т.п.

Adel
10.08.2018
12:34:16

zVlad
10.08.2018
12:34:46

Adel
10.08.2018
12:34:58

Google

Maksim (Ellrion)
10.08.2018
12:35:02

F01134H
10.08.2018
12:35:14

Adel
10.08.2018
12:35:21

Varyen
10.08.2018
12:35:32
по кусочкам и логику этого реализовать на клиенте

F01134H
10.08.2018
12:35:45
что такое сложные агрегаты в контексте элоквента?)

Adel
10.08.2018
12:36:00
в контексте элоквента - это чтото невозможное :)))

F01134H
10.08.2018
12:36:09
А в твоем представлении

Varyen
10.08.2018
12:36:14
уж точно не через $_FILES или обертку над ним

Halit
10.08.2018
12:36:39

Adel
10.08.2018
12:36:43
ну самое банальное - заказ и его items
это агрегат. потому что у него есть сумма. и чтобы добавить новый итем в него, надо делать операцию именно через сам заказ. нельзя просто так взять и добавить ему итем. потмоу что он должен одновременно например сумму свою посчитать. или по бизнесу там.. например небольше 5 в одни руки. хз. поэтому из базы достают обьект - Заказ
и просят его - добавь в себя плиз этот товар.. штуки 3

Google

Adel
10.08.2018
12:38:17
а он уже внутри у себя.. никому неведомо посмотрит - можно ли добавить.
а нельзя взять и сделать $order->items->add(...)

Maksim (Ellrion)
10.08.2018
12:39:14
Даа, джесон получать надо.
Но как в Ларе это?
у запроса должен быть хедер CONTENT_TYPE (application/json) и тогда $request->input('key') будет работать корректно, как и ->all()
ну или можно принудительно у реквеста потребовать джейсон $request->json('key')

F01134H
10.08.2018
12:39:22
> это агрегат. потому что у него есть сумма.
непонял, как связан агрегат и сумма заказа

Adel
10.08.2018
12:39:41

Halit
10.08.2018
12:39:43
Не понял, что тут не так с этим кейсом в элеквенте?

F01134H
10.08.2018
12:39:46
Хз короче, пока не понял в чем проблема

Adel
10.08.2018
12:39:58
важно, что есть заказ и определнные правила внутри него

zVlad
10.08.2018
12:40:03

Halit
10.08.2018
12:40:11
Ок
Едем дальше

Adel
10.08.2018
12:40:47
вообще пример с заказом не очень удачный. но такой вариант. у заказа просят удалить item и если это последний, то его статус оказывается Cancel.
мы не должны снаружи за этим следить
это его внутрнее дело

F01134H
10.08.2018
12:41:35
Ты же понимаешь что можно в слой модели запихать логику как хочешь?
хоть снаружи хоть внутри

Adel
10.08.2018
12:41:44
в ларке как сделают? просто будут $order->items->remove() if($order->items->count() == 0) $order->status = ' cancel';

Maksim (Ellrion)
10.08.2018
12:42:16

Google

Edgar
10.08.2018
12:42:55

Adel
10.08.2018
12:43:17
и на преокте куда я пришел - это юзалось

Maksim (Ellrion)
10.08.2018
12:43:31

Halit
10.08.2018
12:43:36
Адель, где проблема то с элеквентом. Я же жду все.

Edgar
10.08.2018
12:43:49

Adel
10.08.2018
12:44:04
эх. плохой из меня обьясняльщик :)
костыли для простых кейсов
не считая совсем уж базы

F01134H
10.08.2018
12:44:27
це фреймворк

Edgar
10.08.2018
12:44:43

F01134H
10.08.2018
12:44:47
да ладно, не такие уж костыли. Я б сказал пхп костыльный

Halit
10.08.2018
12:44:53
Если вася пупкин минуя, логику приложения, полезет в базу и чето сделате, это проблема элеквента? Вопрос остается открытым.

zVlad
10.08.2018
12:45:37

Maksim (Ellrion)
10.08.2018
12:45:38

Edgar
10.08.2018
12:46:30

Adel
10.08.2018
12:46:48

Maksim (Ellrion)
10.08.2018
12:46:53

Adel
10.08.2018
12:47:02
правда не знаю как с этим в доктрине...

Google

Adel
10.08.2018
12:47:08
надо бы глянуть
хотя че думать...

Halit
10.08.2018
12:47:32
Но ведь в элоквенте ты можешь явно выбрать конекшен.

Adel
10.08.2018
12:47:36
там банально две совсем разные модели.
доктрина будет смотреть только на мастер-базу

Maksim (Ellrion)
10.08.2018
12:47:46
вот и весь срачь такой

F01134H
10.08.2018
12:48:12

Adel
10.08.2018
12:48:22
пропел разве еще живой?

F01134H
10.08.2018
12:48:26
ну да

Admin
ERROR: S client not available

Adel
10.08.2018
12:48:45
чот не слышал о нем... лет 10 :)))

F01134H
10.08.2018
12:48:46
хотя я не уверен

Adel
10.08.2018
12:49:00
Последняя версия 1.7.1 (25 февраля 2014)

F01134H
10.08.2018
12:49:18
не
там 2 есть

Adel
10.08.2018
12:49:21
тот еще советчик ты :)

F01134H
10.08.2018
12:49:34
https://github.com/propelorm/Propel2

Adel
10.08.2018
12:50:37
последний коммит в феврале
чтото не внушает уверенности :)

Google

Edgar
10.08.2018
12:50:50
Просто элоквент как раз выступает своеобразной прослойкой между бд и приложением. Как устроена бд технически - вообще не его дело.
Шардинг к примеру логичнее определять на уровне БД. С единой так сказать точкой входа в кластер

Adel
10.08.2018
12:51:11

Maksim (Ellrion)
10.08.2018
12:51:17

Adel
10.08.2018
12:51:44
не всегда. обычно шардят сами. причем часто для определения нужного сервера юзают другую, более шуструю бд.

Edgar
10.08.2018
12:51:52
ну.... такое
Наоборот. Иначе просто огребешь геморроя при добавлении нод

Adel
10.08.2018
12:51:55
редис

zVlad
10.08.2018
12:52:11

Adel
10.08.2018
12:52:31
из мастера или слейва.

Maksim (Ellrion)
10.08.2018
12:52:46
Нееее
ну так установи, ты блин прочти что я написал тебе в первом сообщении внимательно блин

Adel
10.08.2018
12:52:55
оно откуда знает собираюсь ли я начать транзакцию на запись или просто считать данные?

Edgar
10.08.2018
12:53:06

zVlad
10.08.2018
12:53:14

Adel
10.08.2018
12:53:33

Maksim (Ellrion)
10.08.2018
12:53:33

Adel
10.08.2018
12:53:55
шардиг - да. есть базы с автошардингом. есть без. юзают и так и так.

zVlad
10.08.2018
12:54:00

Edgar
10.08.2018
12:55:20

Adel
10.08.2018
12:55:37

Edgar
10.08.2018
12:56:16

Adel
10.08.2018
12:56:42
и тогда проблема исчезнет сама собой. но это уже некст левел