Size: a a a

2020 March 31

D

Dymon in Laravel Pro
Vladimir Lastovka
Я так понимаю что Eloquent - очень плохо?
Ну скажем "достал я гланды через зад", хотя мне то всего навсего нужно было получить агрегатные значения из связных таблиц
А сортировать и фильтровать это как? Как в примере ниже влепить сортировку и фильтрацию по summap и invoice_lines_count
Или же есть какой-то более нормальный способ добыть эти агрегатные значения?
Invoice::query()
   ->with('employee')
   ->withCount([
       'invoiceLines',
       'invoiceLines as summap' => function($query) {
           $query->select(\Illuminate\Support\Facades\DB::raw('SUM(summap)'));
       }
   ])
   ->orderBy('DATA', 'desc')
   ->take(2)
   ->toSql();
источник

VL

Vladimir Lastovka in Laravel Pro
Спасиба за подсказку куда копать, но построитель запросов пока мне кажется менеее отпимальный чем у NodeJs Sequalize
источник

SK

Samat Kamiev in Laravel Pro
Ребят, подскажите, если встречались с таким. Что если в бизнес-логику входит отображение конкретных полей условно? Т.е. при условии, что Entity.type == N. Форма редактирования Entity будет иметь такие-то поля. И все бы еще хорошо, но там фронт в задаче немного сложноватый. Т.е. от entity.type зависят: какие вкладки в форме редактирования есть, какие в них поля и некоторые свойства этих полей.

Стараюсь держать бизнес-логику на бэке.
источник

SK

Samat Kamiev in Laravel Pro
Чувствуется, будто задача даже не MVC. Хотя не уверен, можно ли в MVVM, допустим, в VM эту логику пускать.
источник

SK

Samat Kamiev in Laravel Pro
Или достаточно будет изменять при entity.type валидацию? А фронтенд пусть сам думает.
источник

i

invariance in Laravel Pro
Samat Kamiev
Ребят, подскажите, если встречались с таким. Что если в бизнес-логику входит отображение конкретных полей условно? Т.е. при условии, что Entity.type == N. Форма редактирования Entity будет иметь такие-то поля. И все бы еще хорошо, но там фронт в задаче немного сложноватый. Т.е. от entity.type зависят: какие вкладки в форме редактирования есть, какие в них поля и некоторые свойства этих полей.

Стараюсь держать бизнес-логику на бэке.
В чем проблема то
источник

SK

Samat Kamiev in Laravel Pro
В какой слой это пихать
источник

i

invariance in Laravel Pro
очевидно в слой бизнес логики
источник

i

invariance in Laravel Pro
сервисный
источник

SK

Samat Kamiev in Laravel Pro
И что он возвращать должен?

[ section_name: [ field1, field2 ] ] ?
источник

i

invariance in Laravel Pro
У тебя энтити вообще не должна от представления зависеть
источник

i

invariance in Laravel Pro
то как у тебя хранятся данные и то как они отображаются - решает именно MVC
источник

SK

Samat Kamiev in Laravel Pro
invariance
У тебя энтити вообще не должна от представления зависеть
Я упомянул, что это часть бизнес-логики. Можем, сказать, что это, ну, редактор сложных документов.
источник

D

Dymon in Laravel Pro
Samat Kamiev
Я упомянул, что это часть бизнес-логики. Можем, сказать, что это, ну, редактор сложных документов.
как вариант создавать форму на беке и оправлять на фронт, как пример https://docs.laravel-enso.com/backend/forms.html
источник

SK

Samat Kamiev in Laravel Pro
А, ну, т.е. json отправлять со всей инфой. Ок. Я просто боялся, что это может быть какой-то антипаттерн, и что если так вышло, значит мы задачу не поняли.
источник

i

invariance in Laravel Pro
Samat Kamiev
А, ну, т.е. json отправлять со всей инфой. Ок. Я просто боялся, что это может быть какой-то антипаттерн, и что если так вышло, значит мы задачу не поняли.
json это ок
источник

SK

Samat Kamiev in Laravel Pro
спасибо)
источник

AG

Alexey Grishin in Laravel Pro
Народ! кто знает хороший пакетик для реализации функционала логирования событий системы и уведомления пользователей об этих событиях? Типа "заявка создана"->"ваша заявка на рассмотрении"->"ваша заявка одобрена"
источник

S

Sonic [Скупаю | Акту... in Laravel Pro
Alexey Grishin
Народ! кто знает хороший пакетик для реализации функционала логирования событий системы и уведомления пользователей об этих событиях? Типа "заявка создана"->"ваша заявка на рассмотрении"->"ваша заявка одобрена"
WebSocket
источник

AG

Alexey Grishin in Laravel Pro
нет) я про другое. мне нужно удобно создавать события привязывать к ним неограниченное кол-во сущностей и параметров, как то удобно все это доставать для разных пользователей и помечать как "прочитанные", когда достал.
источник