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

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Максим Федоров дал хороший вариант, дополню менее правильным, но будет работать в yii\base\Model
    Добавить к моделе переменную public $old_value, в afterFind присваивать значение, потом а aftersave проверять
    Ответ написан
    Комментировать
  • Помечать данные, которые появились в момент отсутствия юзера на сайте?

    AMar4enko
    @AMar4enko
    Записывайте в профиль пользователя дату последней активности.
    Дата обновления / создания новости > дата последней активности пользователя = отметка "новое"
    Ответ написан
    3 комментария
  • Как с помощью php отправить уведомление в js о записи в бд mysql?

    VGrabko
    @VGrabko
    Golang, Php, Js
    WebSocket
    Ответ написан
    Комментировать
  • Как сделать выборку из трех таблиц?

    @cheshirerabbit
    SELECT game.id,npc.title,users.login 
    FROM game 
    LEFT JOIN npc ON game.id = npc.npc_id AND game.type = 'npc' 
    LEFT JOIN users ON game.id = users.user_id AND game.type = 'user'
    WHERE game.type IN('npc' , 'user')
    Ответ написан
  • Как посчитать count отдельно?

    bigton
    @bigton
    Web-программист
    Добавьте в конец запроса GROUP BY animals
    Ответ написан
    2 комментария
  • Как создать утверждение в MySQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    MySQL не поддерживает ASSERTION.
    Используйте триггеры BEFORE INSERT и BEFORE UPDATE.
    Ответ написан
    2 комментария
  • Как в Yii2 включить изображение в виджет?

    @ValentineK
    Создайте свой AssetBundle класс, регистрируйте его при вызове вашего виджета(можно в init() методе) и через Yii::$app->assetManager->getAssetUrl() получайте доступ к картинкам.
    Ответ написан
    Комментировать
  • Как сохранить в БД несколько файлов yii?

    arutyunov
    @arutyunov
    Mooza.ru — Делаем сайты
    Лучше хранить пути к изображениям в базе, а сами изображения в файловой системе — например, в папке Uploads.

    Если у вас может быть много изображений, то создайте связь один-ко-многим или многие-ко-многим в БД и сохраняйте пути к изображениям в отдельную таблицу.

    Например, если у вас есть таблица Post и у каждого поста мб несколько изображений, то добавьте таблицу PostImage с полями post_id | image_path.

    Таким образом вы всегда без труда сможете получить путь ко всем изображениям любого поста.
    Ответ написан
  • Как запускать конроллер YII2 в фоновом режиме каждые 5 минут?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Я надеюсь у вас консольный контроллер ?
    Если да то в cron ставите задачу и запускаете yii xxx
    Ответ написан
    Комментировать
  • Для чего нужен Docker?

    @viiy
    Linux сисадмин \ DevOps
    Представьте что нет никакой ложки докера.

    1) Есть одна физическая машина. Вы устанвливаете софт, разные приложухи, базы, web сервера, заходят тестовые юзеры, что-то запускают. Первая проблема - вы не понимаете кому что надо, кто владелец файлов, приложух, зачем висят демоны и кто за это ответственнен. Как выход, вы решаете это разделить на виртуалки.

    2) У вас есть физическая машина + на ней виртуалки. Вы выделяете под каждую задачу свою виртуалку, там сидят отдельные пользователи, вы навели какой то порядок. Появляется задача - пользователи хотят php 6, а его нет, хотят python3, а его нет, хотят Mongo, а она старой версии. Вы обновляете репозитарии, качаете новые пакеты, ставите, часть пользователей довольны, часть нет - им нужна старая версия какая была. Упс!

    3) Одна физическая машина + еще больше виртуальных машин. Вы разделили всех пользователей так, чтобы никто не дрался за версии софта, если нужен php6 - иди на эту машину, нужен php5 - вот на эту. Все счастливы, но появляются разработчики, которые говорят буквально так - "а у меня на рабочей машине все работает, я перенес все как было на виртуалку, а у меня появляется ошибка missing library libXXX.so.X". И вы понимаете что вам остается только создать полную копию машины разработчика, чтобы софт поехал на этой виртуалке без ошибок... И тут появляется Docker! :)

    4) Docker решает именно эту проблему. Вам не нужно заботится о софте который установлен на сервере/виртуалке. Вы просто берете и переносите софт со всеми "кишками" на другой сервер и он просто работает. Работает за счет того, что все "кишки" это слои файловой системы нанизанные как бисер друг на друга. Дополнительно решается проблема свободного места, т.к слои многократно переиспользуются контейнерами, если вам нужен php + одна библиотека, а другому php + другая библиотека, вы используете (грубо говоря) слой php, а для дополнительной библиотеки делаете отдельный слой, одновременно другой человек делает над php другой слой и вы не деретесь между собой и не видите чужих библиотек. Это грубо и скорее всего ради одной библиотеки никто новый слой не делает, делают слой пожирнее.

    Все запущенные процессы Docker помещает в изолированную среду процессов, файловой системы и сетевого стека. Есть много особенностей по работе с Docker, т.к он предполагает, что в одном контейнере вы запускаете один процесс. Если вам нужно запустить целый набор демоном, тут появляются проблемы, нужно писать шелл-скрипт, который все это поднимет в контейнере. Так же есть особенности по сети, файловой системе. Для кого то Docker спасение и решение всех проблем, но я как сисадмин от этого всего не в восторге.
    Ответ написан
    15 комментариев
  • Стоит ли перед изучением yii2 сначала изучить yii?

    kentuck1213
    @kentuck1213
    Нет это делать не обязательно если задача того не требует. Начинайте лучше сразу со второй она по интересней чем первая + первую ещё в декабре прошлого года разработчики фреймворка перестали его подержавать, все силы броше на вторую.
    Ответ написан
    Комментировать
  • Медленный запрос SQL, как его оптимизировать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для всех подчинённых таблиц представить связь через FOREIGN KEY ON DELETE CASCADE и удалять только запись из `order`
    Ответ написан
    2 комментария
  • Как правильно знакомиться с новыми технологиями?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Каков рецепт изучения новых языков/технологий?


    Сначала хорошо ищучите парочку тех что уже знаете.

    Стоит ли мне для изучения Ruby далее или Tornado, или Angular читать об этом целую книгу, которая будет много говорить о философии этого инструмента, как он устроен? Или стоит искать какие-то поверхностные методы?


    Нет ничего быстрее документации.

    Если же кто-нибудь считает, что второй метод вполне работает, то могли бы вы дать ресурсы на изучение каких-либо веб-технологий очень быстрым способом?


    RTFM
    Ответ написан
    2 комментария
  • Выполнить функцию по клику на php?

    sabramovskikh
    @sabramovskikh
    Вы совершенно не знаете что такое PHP и JS. Сначала узнайте что это и для чего используется.
    Нужно написать то, что вам нужно.
    Может это должен быть аякс, может ссылка с гет параметром или форма
    Ответ написан
    6 комментариев
  • Почему save() срабытывает один раз?

    333Serega333
    @333Serega333
    333Serega333
    Что хотелось бы сказать в первую очередь. Вызов метода save() влечет за собой выполнение запроса в базу. Вы же вызываете этот метод в цикле, и это ну вообще не правильно. Я бы рекомендовал сделать нужный функционал другим способом.
    Запросы sql в цикле делать нельзя !!!
    Ответ написан
  • Как удалить данных связанных моделей?

    kawabanga
    @kawabanga
    Создавайте FK правильно, с триггером на удаление.
    Ответ написан
    4 комментария
  • Сложно ли переучиться с одного PHP фрейма на другой?

    @lasmaster
    Вся сила в самообразовании
    Вам необходимо (желательно) ориентироваться в php и ООП. Знать как минимум паттерн MVC и тогда Вам не страшен никакой из фреймворков. Они практически все похожи друг на друга. Зная основные принципы, Вы сможете освоить любой фреймворк довольно за короткие сроки, не используя практически ничего, кроме документации.
    Ответ написан
    Комментировать
  • Как понять что стоит использовать MongoDB?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Как понять что стоит использовать MongoDB?
    Алгоритм очень прост:
    1. Уяснить, чем Mongo отличается от обычных реляционных БД, какие у неё сильные и слабые стороны.
    2. Сформулировать требования, которые диктует текущая задача.
    3. Оценить, насколько Mongo удовлетворяет этим требованиям.
    4. Если удовлетворяет в достаточной степени - использовать. Иначе - не использовать.

    Внимательный читатель может заметить, что если в этом алгоритме заменить Mongo на %любой инструмент%, а реляционные БД на %любой другой инструмент%, то этот алгоритм становится Универсальным Алгоритмом Выбора Инструмента. Ещё более внимательный читатель может заметить, что УАВИ применим к абсолютно любой человеческой деятельности.

    P.S. Вчера на DUMP Олег Бунин сказал, что не встречал ни одной задачи, где бы необходимо было использовать NoSQL БД. Некоторые люди ему бурно апплодировали.
    Ответ написан
    3 комментария