Ответы пользователя по тегу Symfony
  • Doctrine - структура БД для хранения документов, и участников документооборота?

    @u_elnur
    Веб разработчик, Начинающий предприниматель
    Приветствую! Мне в течение последнего года доводилось делать три похожих проекта документооборота. Хотелось бы поделиться со своим решением, как я организовал структуру таблиц (они же и сущности в доктрин).

    Первое:
    У моих проектов было несколько маршрутов согласования. Поэтому я хранил их отдельно. И называл их workflow (бизнес процесс)
    Workflow: (Маршрут согласования)
        id
        name (Название маршрута согласования)
    WorkflowPoint: (Точка согласования)
        id
        title (Название точки. Например "Согласование фин директора")
        workflow_id (Связанный маршрут)
        user_id (Пользователь, который рассматривает документ в этой точке согласования)
        order_id (Порядковый номер точки в маршруте)
        roles (Права пользователя, в данной точке согласования)


    Второе:
    В моих проектов в одном документе согласования могли храниться несколько файловых вложении. Поэтому Файл и Документ согласования хранились отдельно.

    Approval: (Документ согласования)
        id
        title (Название документа)
        author_id (Инициатор)
        state = 0 (Состояние документа. 0 - черновик. 1 - в процессе согласования. 2 - одобрено. 3 - отказано. 4 - архивировано)
        workflow_id (Маршрут, по которому движется данный документ. По умолчанию null, кроме того, когда состояние документа в процессе согласования)
        workflow_point_id (Текущая точка согласования в маршруте. При одобрении, указывается следующая точка)
        approval_user_id (Пользователь, который должен рассмотреть документ в текущий момент. Это поле чисто для удобства в поиске)
    Attachment: (Файл-вложение)
        id
        approval_id (Связанный документ)
        file_path (Путь к файлу)
        author_id (Пользователь, который вложил файл)


    Я значительно упростил структуру, чтобы просто дать Вам идею для размышления. В реальных проектах было гораздо сложнее
    Ответ написан
    3 комментария
  • Как обновить класс уже существующей entity из консоли?

    @u_elnur
    Веб разработчик, Начинающий предприниматель
    В консоли после этой команды doctrine:generate:entities так же нужно ввести неймспейс, с которой вы работаете. Например:
    doctrine:generate:entities App
    или
    doctrine:generate:entities AppBundle
    или
    doctrine:generate:entities App\Bundle.
    Ответ написан
    Комментировать
  • Как добавить в assets список js-файлов и загрузить его полностью в лайаут?

    @u_elnur
    Веб разработчик, Начинающий предприниматель
    1) На счет ассетов. Взгляните в сторону gulp.js или grunt.js
    Они являются сборщиками проектов. Можно собирать css или js файлы в один файл, минимизировать их, работать с sass или less, оптимизировать изображения и много-много чего.

    2) Вы можете написать свой сервис "RouteLoader", который добавляет новые роуты в приложение. А сам сервис подключаются автоматически вместе с бандлом.
    Ответ написан
    Комментировать