Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

yiiworld

  • 8
    вклад
  • 0
    вопросов
  • 21
    ответ
  • 24%
    решений
Комментарии
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как сделать сортировку связанных таблиц в Yii2?

    yiiworld @yiiworld
    ну вы в код свой загляните и увидите почему оно меняется (просмотрите все IFы с sort_value)
    Написано более трёх лет назад
  • Как сделать сортировку связанных таблиц в Yii2?

    yiiworld @yiiworld
    если цены мельче копеек(например единица товара в опте), то используйте более мелкие единицы, например млКопейки, тогда 12 рублей === 1200000 млКопеек
    Написано более трёх лет назад
  • Как сделать сортировку связанных таблиц в Yii2?

    yiiworld @yiiworld
    да, все верно. Храните количество копеек: 12 рублей == 12руб 00коп == 1200 копеек ))
    Написано более трёх лет назад
  • Как сделать сортировку связанных таблиц в Yii2?

    yiiworld @yiiworld
    Сергей Свиридонов, проблема не в get, а скорее в том, что когда меняется sort_value(или отсутствует), то меняется результирующее количество записей
    Написано более трёх лет назад
  • Как сделать сортировку связанных таблиц в Yii2?

    yiiworld @yiiworld
    Сергей Свиридонов, данных слишком мало чтобы ответить на ваш вопрос. Вероятно при переходе от страницы к странице меняется количество результативных данных. Сделайте вывод значения count на страницу и посмотрите меняется ли она при переходах по страницам
    Написано более трёх лет назад
  • Как сделать сортировку связанных таблиц в Yii2?

    yiiworld @yiiworld
    1) В Integer хранятся Целые, поэтому при его использовании вы храните не рубли, а например копейки или тысячные доли копеек в зависимости от точности которая вам требуется (например 24440), а в коде приложения уже выдаете значения в нужном формате (244руб 40коп, или 244.4)
    2) Любой код с точки зрения более опытного программиста это говнокод, поэтому нет предела совершенства
    - если в сессии вдруг не будет типа сортировки, то и сортировки не будет
    - не надо делать ->limit(1) если делаете ->one(), но нужно если вы хотите получить данный в формате массива объектов записей например: ->limit(1)->all();
    3) это
    $pharms = Pharmacy::find()
                            ->where(['pharm_id' => $pharm_id])
                            ->limit(1)
                            ->one();

    лучше заменить на это
    $pharms = Pharmacy::findOne(['pharm_id' => $pharm_id]);

    4) (int) используйте для приведения к Целому только если вы уверенны что входные данные представленны именно числом в десятичном измерении т.к. при некоторых обстоятельствах может произойти приведение к восьмеричной или шестнадцатиричной системе исчисления (лучше явно указывать это в функции intval )
    5) конструкция из IF ELSEIF ->ORDERBY лучше бы выглядела если бы вы указывали ->ORDERBY однократно без использования IF ELSEIF. Поместите все настройки в массив $oPrams=[1=>['attr_name'=>'tailings.price', 'order'=>SORT_ASC], 2=>[...]...] и делайте ->ORDERBY([$oPrams[$sort_value]['attr_name']=>$oPrams[$sort_value]['order'])
    6) не нужно явно открывать сессию $pharm->open();, она по умолчанию открывается автоматически
    Написано более трёх лет назад
  • И все-таки PHP 7 быстрее Python 3?

    yiiworld @yiiworld
    Особо тонкие моменты можно писать на c++ и для PHP - вообще без проблем.
    Суть в PHP7 в том что он реально быстрее Python3 - тоже делали тесты.
    PHP7 это тонкая обертка над c++, поэтому и скорость работы близка к нему и обгоняет Python3 (на данный момент). Сейчас PHP7 не уступает Node.js
    И конечно же все зависит от прямоты рук.
    Если отлично знаешь Python, то не нужно писать на PHP.
    Написано более трёх лет назад
  • Yii2 вивод картинок в розделе портфолио?

    yiiworld @yiiworld
    Brain_code, выглядит так как представление сделаете.
    Вы просили готовый модуль, логику модели - это все тут есть.
    Написано более трёх лет назад
  • Как решить проблему медленного мета запроса Yii2 Active Record?

    yiiworld @yiiworld
    nerabio, кеширование не решает проблему самого запроса. Для того чтобы данные попали в кеш все-равно этот запрос нужно когда- то выполнить.
    Если статичность проекта позволяет, то конечно можно все закешировать по максимуму.
    Написано более трёх лет назад
  • Почему после подгрузки полей формы через jquery load(), yii2 их не принимает в model?

    yiiworld @yiiworld
    Сергей, а вы попробуй
    Написано более трёх лет назад
  • Ошибка. Как сделать миграцию в yii2?

    yiiworld @yiiworld
    Максим Ворожцов,
    - root обычно это root, но на всякий случай проверьте есть ли у него права на базу crm
    - каждый root из списка это разные пользователи, т.е. root@localhost и root@127.0.0.1 это разные пользователи и соответственно у них могут быть разные права на БД, разные пароли и т.д.
    - попробуйте с каждым подключиться
    - проверьте находится ли сервер MySQL на том же сервере где и ваш вебсервер с php (банально, но все же). Это тот самый MySQL сервер к которому вы пытаетесь подключиться или может быть ваша БД crm где-то в другом месте крутиться
    - проверьте наличие файлов базы данных crm на сервере
    - настройки allow local access only тут вообще не причем
    - проблема может быть в использовании сокета для процесса MySQL, попробуйте в настройках сервера MySQL вместо сокета использовать порт 3306
    - xampp это лучшее решение(apache+php+mysql) для разработки на Windows которое я встречал(а встречал я их почти все))), но если вы будете разбираться в том как настраиваются и связываются компоненты, то для вас вопрос будет не в выборе готового решения
    - с какой учетной записью вы подключаетесь к phpMyAdmin (хост(url), логин, пароль)
    - попробуйте подключиться к mysql из консоли (удаленно и локально), какие учетные записи могут подключиться
    - и в завершении проверьте квоты на место на диске для БД crm. Или вообще есть ли еще свободное месте на диске.
    Написано более трёх лет назад
  • Как подключить настройки swift_smtptransport в config из БД в yii2?

    yiiworld @yiiworld
    slo_nik,
    т.к. строк меньше.
    И вопрос был про транспорт, что setTransport() и решает.
    Гибче т.к. можно менять транспорт в зависимости от ситуации (например у каждого юзера свой smtp)
    Но зато создавать объект можно по требованию, и тем самым немного экономить на используемой в приложении памяти когда отправка писем не требуется.
    Написано более трёх лет назад
  • Ошибка. Как сделать миграцию в yii2?

    yiiworld @yiiworld
    slo_nik, тоже об этом сразу подумал
    или наоборот с 127.0.0.1 на localhost, зависит от настроек mysql пользователя.

    Если не помогло, то покажите:
    - настройки соединения с БД для консольного приложения в Yii
    - список пользователей БД с настройками (@host, и права на БД). select * from mysql.user;
    - список баз данных (на предмет наличия подключаемой БД). show databases;
    Написано более трёх лет назад
  • Как подключить настройки swift_smtptransport в config из БД в yii2?

    yiiworld @yiiworld
    Если в конфиге компонент mailer задан
    'mailer' => [
                'class' => 'yii\swiftmailer\Mailer',
            ],

    то проще так
    //Yii::$app->mailer->useFileTransport = false;
           Yii::$app->mailer->setTransport([
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.gmail.com',
                'username' => 'login',
                'password' => 'pwd',
                'port' => '465',
                'encryption' => 'SSL', 
            ]);
    Написано более трёх лет назад
  • Как подключить настройки swift_smtptransport в config из БД в yii2?

    yiiworld @yiiworld
    slo_nik, создать транспорт перед отправкой
    yii\swiftmailer\Mailer
    этому методу скормить ваш конфиг транспорта из бд
    createTransport() - Creates email transport instance by its array configuration.
    Написано более трёх лет назад
  • Как подключить настройки swift_smtptransport в config из БД в yii2?

    yiiworld @yiiworld
    slo_nik, т.е. ваш модуль который управляет конфигурацией в БД сделайте модулем верхнего уровня(приложением) со своим рутовым конфигом
    Написано более трёх лет назад
  • Как подключить настройки swift_smtptransport в config из БД в yii2?

    yiiworld @yiiworld
    slo_nik, я понял, у вас yii basic и внутри приложения все живет от одного конфига.
    используйте advanced и внем отдельно приложение сделайте например cfg или в basic рядом киньте приложение еще одно которое будет управлять конфигурацией и делать слепки
    Написано более трёх лет назад
  • Как подключить настройки swift_smtptransport в config из БД в yii2?

    yiiworld @yiiworld
    slo_nik, ну так из базы нужно слепок конфига делать в файл web-config-snapshot.php
    по крону
    или по afterSave() в модуле который эти настройками управляет
    Написано более трёх лет назад
  • Как подключить настройки swift_smtptransport в config из БД в yii2?

    yiiworld @yiiworld
    slo_nik, если массив в слепке будет по структуре идентичный требуемому массиву конфигурации, то

    что-то типа
    // config/web.php
    $config=[
    ...
    'params' => $params,
    ];
    
    //return $config;
    return array_replace_recursive(
        $config, (file_exists(YII_ENV_SETS_DIR.'/web-config-snapshot.php') ? require(YII_ENV_SETS_DIR.'/web-config-snapshot.php') : array())
    );

    А если не идентичный, то маппинг вручную.
    Написано более трёх лет назад
  • Как подключить настройки swift_smtptransport в config из БД в yii2?

    yiiworld @yiiworld
    slo_nik, складывать слепок конфигурации из бд в файл(массив) по команде из консоли или по крону.
    И подключать этот файл-слепок в конфиге.
    Складывать в слепок естественно только те данные, которые нужны в конфиге.
    Написано более трёх лет назад
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • solotony
    Antonio Solo
    • 6 ответов
    • 0 вопросов
  • Rsa97
    Rsa97
    • 6 ответов
    • 0 вопросов
  • AshBlade
    Сергей Соловьев
    • 4 ответа
    • 0 вопросов
  • pindschik
    pindschik
    • 4 ответа
    • 0 вопросов
  • Mike_Ro
    Михаил Р.
    • 4 ответа
    • 0 вопросов
  • mayton2019
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации