• Как реализовать отчёт по продажам с меняющейся иерархией?

    @drboboev Автор вопроса
    данных много и надо фильтровать) сортировать и т.д.) и выборку конкретных веток надо делать)
  • Как реализовать отчёт по продажам с меняющейся иерархией?

    @drboboev Автор вопроса
    А в PostgreSQL это реализовать нельзя? Или вопрос в простоте?
  • Как построить дерево с сохранением удалённых веток?

    @drboboev Автор вопроса
    Мне кажется будет жуткая каша. Но видимо других вариантов нет
  • Как построить большое дерево, которое часто меняется?

    @drboboev Автор вопроса
    longclaps, Так это тот же Materialized Path, да? Разве не сложно потом с этим деревом работать? Редактировать, удалять, добавлять ноды?
  • Как лучше организовать сущности в Doctrine?

    @drboboev Автор вопроса
    FanatPHP, я ничего не "портил". я просто изменил тип поля в сущности Entry, о чем и написал. теперь, чтобы записать данные по одной территории за год, я использую одну запись вместо 12. так что я не "лгал". я просто написал что я сделал для оптимизации запросов. а ты вместо того, чтобы указать на ошибки, сказать что так делать не надо, это что то портит и прочее, ты решил съязвить. вот только зачем - непонятно. ты хотел помочь? ну так помоги. а свой "троллинг" оставь для мемов и онлайн игр. и слова "мальчик", "мамочка", "родители" используй там же.
  • Как лучше организовать сущности в Doctrine?

    @drboboev Автор вопроса
    FanatPHP, получил? от тебя? давай посмотрим

    Для столь короткого описания сущности спроектированы верно.

    Какое отношение к этому имеет количество запросов в БД - загадка.


    потом я расписал каким образом хранятся данные и как я их потом выдёргиваю. а ты в ответ:

    получился какой-то ад. Убери тогда базу данных вообще, тогда количество запросов еще больше уменьшится, прямо до нуля. Ведь главное в работе программиста - это количество запросов, а не осмысленность того, что он делает.


    это всё, что я от тебя получил. единственное полезное предложение от тебя это:

    Для столь короткого описания сущности спроектированы верно.


    а всё остальное - ответ ради ответа. а не для помощи. если ты на все вопросы так отвечаешь, то зачем вообще этим заниматься - загадка
  • Как лучше организовать сущности в Doctrine?

    @drboboev Автор вопроса
    Список типов не статический. Точнее он не совсем статический. Сегодня в рамках задачи он статический, но завтра могут добавиться еще типы. А могут и не добавиться.

    Возможно мне стоит решать проблему не со стороны Doctrine, а со стороны MySQL (PostgreSQL), использовать представления и т.п., а доктриной просто вытаскивать уже готовые данные.

    Насчёт задачи - ну как бы да, мне нужно написать приложение, которое на основе определенного количества вводных данных автоматически высчитает конечные данные. Задача: сократить большое количество "бумажной" работы, упростить многие процессы. В итоге, работа должны быть построена так - ответственный сотрудник загружает вводные, на выходе получает конечные данные, и ему при этом не надо использовать бумагу, ручку, калькулятор, эксель и прочее :)
  • Как лучше организовать сущности в Doctrine?

    @drboboev Автор вопроса
    FanatPHP, я написал сюда в надежде получить какой то совет. если ты не знаешь что написать, лучше вообще ничего не пиши. а если знаешь что написать, то напиши нормально, укажи на ошибки, предложи более правильный вариант. я тебя не заставлял тут что то писать, не надо делать одолжение. я тут хочу у более "прохаванных" узнать как лучше сделать, может кто то сталкивался с подобной задачей, может знает как правильнее. если ты считаешь что лучше меня в чем то разбираешься, то поделись опытом. а если не хочешь делиться опытом, то вообще сиди молча, а я поищу того, кто поделиться.
  • Как расширить класс сущности Doctrine?

    @drboboev Автор вопроса
    Ну вот как мне например добавить нового пользователя через DataFixtures ? Если использовать родительскую сущность, то он не видит поля наследников, а если в одном из наследников, то он не видит остальных наследников родителя
  • Как организовать роли в Symfony?

    @drboboev Автор вопроса
    Это означает то, что надо хранить роуты в БД ?
  • Как организовать роли в Symfony?

    @drboboev Автор вопроса
    Не знаю на счёт "нормального", но ACL убрали из 4й версии. Ну точнее можно поставить отдельно ACL bundle. А в 4й версии используются voters, но не совсем понятно из документации, как его использовать для моей задачи
  • Как сохранить файл на другом сервере на PHP?

    @drboboev Автор вопроса
    а если файл принять на текущий сервер во временную директорию, скриптом отправить файл на другой сервер, получить ответ, удалить файл из временной директории и отдать пользователю ответ о результатах? тогда и серв не светим и файл на текущем сервере не остаётся.
  • Как вывести на экран дерево Nested Set с группировкой узлов?

    @drboboev Автор вопроса
    Arik а как это сделать рекурсией, без дополнительных запросов к БД?
  • Какой подход выбрать для иерархической таблицы?

    @drboboev Автор вопроса
    Klein Maximus:
    Мне, по сути, нужно найти способ быстрого вывода выбранных данных на экран. Но задача - не банальный вывод дерева, что и в parent-child одним рекурсивным запросом делается быстро. Задача - выбрать дерево, при этом посчитать продажи на точку, просумировать на родителя, и добавить туда еще и планы на выбираемый месяц по каждом точке и на каждом родителе. При росте дерева запрос утяжеляется, причем сильно.
  • Какой подход выбрать для иерархической таблицы?

    @drboboev Автор вопроса
    evgenybuckharev да, рост дерева будет, как и его сокращение. ну т.е. изменение данных будет каждый месяц, а насколько я знаю в Nested Set этот процесс занимает много времени.
  • Какой подход выбрать для иерархической таблицы?

    @drboboev Автор вопроса
    Klein Maximus, RaulDuke, Павел Волынцев, freeExec спасибо за ответы. В Nested Set не очень понятно как правильно строить дерево. А в дальнейшем как правильно перестраивать его. Ну про построение дерева есть множество обсуждений на форумах да и документации полно. А вот про добавление/изменение/удаление дерева, то есть узлов, везде написано что при частом изменении это очень ресурсоёмкий процесс.

    По поводу parent-child. Модель очень проста и понятна. Но есть проблема с выборкой данных. Средствами PostgreSQL написал запрос, выбирающий дерево одним запросом. При этом подтягивает продажи из таблицы sales и планы из таблицы plans. Сам запрос выполняется конечно не супербыстро, но в принципе приемлемо. Главная проблема - вывод на страницу. Я не знаю как наиболее быстро вывести результат на страницу.

    Есть идеи?
  • Режим разработки на сайте. Как вносить изменения на работающий сайт в формате "demo"?

    @drboboev Автор вопроса
    Спасибо за ответ. Вариант с if'ами был рассмотрен в самом начале. Но не устроил, т.к. if'ов будет множество.

    Поднимать еще один сайт - да, хорошее решение, но все же остается надежда, что смогу реализовать свою задумку.
  • Режим разработки на сайте. Как вносить изменения на работающий сайт в формате "demo"?

    @drboboev Автор вопроса
    Мне нужно, чтобы группа людей, раскиданных по миру (ну ладно, по стране) могли иметь онлайн доступ к просмотру вносимых изменений, потом после согласования всех изменений можно было их подтверждать и они вносились бы на сайт. Git это умеет? Насколько я понял git умеет отслеживать вносимые изменения, но не совсем понятно умеет ли он то, что я хочу.
  • Построение большой таблицы иерархии PHP + PostgreSQL, наиболее быстрый вывод на страницу?

    @drboboev Автор вопроса
    Таблицы, участвующие в запросе: staff, sales, plans.

    - staff: id_staff, name, post, parent_id, sort (для уникальной сортировки по желанию юзера)
    - sales: staff_id, amount, date
    - plans: staff_id, amount, month

    Рекурсивным запросом вытягиваю всех из таблицы staff и sales, при этом sales суммируются, т.е. имеется id_staff = 1, у него есть потомки id_staff = 2, 3, 4, 5. У каждого из потомков есть запись в таблице sales, они должны в результате запроса суммироваться на id_staff = 1.

    id_staff | amount | parent_id
    1 | 250 | null
    2 | 50 | 1
    3 | 50 | 1
    4 | 50 | 1
    5 | 50 | 1
    6 | 50 | 1

    Как то так. И к этому join'ом цепляю еще и планы из таблицы plans. Там уже суммирования нет, потому что каждому staff_id соответствует свой план.
  • Построение большой таблицы иерархии PHP + PostgreSQL, наиболее быстрый вывод на страницу?

    @drboboev Автор вопроса
    Спасибо, но сам запрос я уже построил, проблема заключается именно в быстром выводе полученных данных на страницу. В моём текущем решении вся операция (от запроса до полного вывода) занимает порядка 8-9 секунд, что для пользователя не удобно. Я ему конечно показываю, что страница грузится, но тем не менее. Это сейчас 8-9 секунд, а если данные разрастутся, то это займёт еще больше времени.