• Как определить изменения для товаров в заказе?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Как бы вы поступили в подобной ситуации.

    Да как обычно при хранении timeline. Первым делом настраиваем права и запрещаем обновление и удаление. Записи можно только добавлять. Вторым - вводим автоматически присваиваемое поле штампа времени создания версии заказа. И, собственно, всё.

    Для получения состояния заказа на любой момент времени (актуальное состояние или в прошлом) используем один несложный запрос. То же - если нужно получить разницу между текущим и предыдущим состояниями. Оконные функции делают это на счёт "раз".

    И никакие логи не нужны.
    Ответ написан
    5 комментариев
  • Как правильно составить sql запрос для моей задачи?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    Можно упростить запрос следующим образом:
    SELECT
        `t1`.*,
        GROUP_CONCAT(`t3`.`name` SEPARATOR ', ') AS `role_group`
    FROM
        `user` AS `t1`
    JOIN `user_role` AS `t2`
    ON
        `t1`.`id` = `t2`.`user_id`
    JOIN `access_group` AS `t3`
    ON
        `t2`.`group_id` = `t3`.`id`
    GROUP BY
        `t1`.`id`
    HAVING SUM(`group_id` IN('20', '24'))  = 2
    LIMIT 0, 20


    MySQL fiddle
    Ответ написан
    1 комментарий
  • Как настроить показ полей API YII2?

    @toratoda
    Можно создать класс Response реализующий интерфейс JsonSerializable. В методе интерфейса собирать свойства текущего класса и отдавать ввиде массива. В конструкторе класс будет принимать модель user и проставлять себе необходимые свойства.

    Так у вас появится отдельный класс цель которого направлена только на формирование ответа (можно объявить абстрактный базовый класс и формировать ответы для каждого метода), а так же вы сможете у свойств указать типизацию. Так что вы будете точно знать что будет на выходе и не полагаться на массив.
    Ответ написан
    2 комментария
  • Найти точки окружности?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Школьный курс тригонометрии:
    Вся окружность - 2*PI радиан. Один сектор, который вам нужен - k = 2*PI / 27

    Дальше в цикле k * i (счётчик цикла) - переводите в координаты с нулём в центре окружности (Да, тут надо будет воспользоваться синусами/косинусами)

    Затем эти координаты переводите в экранные. Всё. Думаю дальше сами разберётесь.
    Ответ написан
    3 комментария
  • Найти точки окружности?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Несколько дней назад был аналогичный вопрос. Посмотрите мой ответ, есть и формулы и объяснение как это работает
    Ответ написан
    2 комментария
  • Пропадает надпись на кнопке при смене текста?

    RedEagle69
    @RedEagle69
    Html-верстальщик, Front-end разработчик
    Если шрифт загружается с googlefonts, то ставьте галочку на cyrillic:
    5c96349403c95051154046.png
    А если свой подгружаете, то убедитесь в том, что он поддерживает кириллицу.
    Ответ написан
    Комментировать