Size: a a a

2020 December 18

ПГ

Павел Г. in symfony
Максим Федоров
его делать то... тем более шатать под него все способы работы с выборками, имея мощный SQL — странноват
Чисто на SQL больше 1 связи one-to-many хз как прокинуть. Т.е. приходится тянуть из бд сначала строки с дублями, а потом все это формировать в массив с вложенными связями
источник

К

Корочка хлеба... in symfony
Никто не возился с этой либой никогда? Chart.js Version: 1.0.2
источник

BT

Bohdan Turchyk in symfony
Корочка хлеба
Никто не возился с этой либой никогда? Chart.js Version: 1.0.2
кто - то точно возился, но задавать вопросы по ней в чате по симфони как минимум странно
источник

SP

Sergey Protko in symfony
Павел Г.
Чисто на SQL больше 1 связи one-to-many хз как прокинуть. Т.е. приходится тянуть из бд сначала строки с дублями, а потом все это формировать в массив с вложенными связями
Типа ты не можешь по айдишками дубли убрать?
источник

ПГ

Павел Г. in symfony
Sergey Protko
Типа ты не можешь по айдишками дубли убрать?
В коде могу. В SQL с group_concat + json + distinct не пробовал
источник

ВН

Валерий Никонов... in symfony
Всем привет! Может быть сталкивались с такой задачей - нужно вывести в list-e результат агрегатной функции из query, как-то это реализуется через Admin класс или только модифицировать datagrid в кастомном CRUD-e? Используется Sonata Admin.
источник

gp

gogi power in symfony
Валерий Никонов
Всем привет! Может быть сталкивались с такой задачей - нужно вывести в list-e результат агрегатной функции из query, как-то это реализуется через Admin класс или только модифицировать datagrid в кастомном CRUD-e? Используется Sonata Admin.
sonataBlocks
источник

gp

gogi power in symfony
там можно из текущего запроса из применением текущих фильтров слонировать квериБилдер и сделать что то другое
источник

gp

gogi power in symfony
и вывести в тимплейте перед или после листа
источник

ВН

Валерий Никонов... in symfony
gogi power
там можно из текущего запроса из применением текущих фильтров слонировать квериБилдер и сделать что то другое
Посмотрел, мне нужно немного другое - сделать вычисления у каждого элемента и отобразить их в списке.
источник

ВН

Валерий Никонов... in symfony
Т.е условно - есть пользователь, у него есть оценки ему установленные и нужно получить среднюю оценку для этого пользователя и вывести в списке для каждого.
источник

gp

gogi power in symfony
тогда использовать кастомное поле (из определенным шаблоном)
источник

gp

gogi power in symfony
в шаблоне ложить обьект в ваш вычислитель
источник

gp

gogi power in symfony
и отображать результат
источник

gp

gogi power in symfony
$listMapper
           ->add('someNameField', 'string', [
               'label' => 'calculated',
               'template' => 'someCalculatedUser.twig'
           ])
источник

ВН

Валерий Никонов... in symfony
gogi power
$listMapper
           ->add('someNameField', 'string', [
               'label' => 'calculated',
               'template' => 'someCalculatedUser.twig'
           ])
Это понятно, проблема была в том, что когда вычисляешь параметр, он записывается отдельно от Entity, что не позволяет его использовать, как я понял.
источник

gp

gogi power in symfony
{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field %}
   <div>
       {% set serviceGlobal = _SOMEGLOBALSERVICE %}
       {# object  its user in this template  #}
       {% set calculated = serviceGlobal(object) %}
   </div>
{% endblock %}
источник

gp

gogi power in symfony
Валерий Никонов
Это понятно, проблема была в том, что когда вычисляешь параметр, он записывается отдельно от Entity, что не позволяет его использовать, как я понял.
я хз, может покажи какой у тебя подход
источник

gp

gogi power in symfony
+- так должно работать
источник

ВН

Валерий Никонов... in symfony
$query
               ->leftJoin($alias.'.ClientSex','sex')
               ->leftJoin($alias . '.Comment', 'c')
               ->addSelect('с')
               ->addSelect('avg(c.stars) as Stars')
               ->addSelect('sex')
               ->addGroupBy($alias . '.id')
       ;

И в итоге получаю вот такой результат
источник