Ответы пользователя по тегу Yii
  • Foreign key constraint is incorrectly formed / Не могу создать ВК, в чем проблема?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Для поля user.email создан unique индекс? Первичный ключ может указывать только на поле, не допускающее дублирование значений.

    Но сама ситуация, когда между двумя таблицами по разным парам полей реализуются две дублирующие друг-друга связи, выглядит по меньшей мере странно.
    Ответ написан
    2 комментария
  • В чем может быть ошибка при хранении yii 1 сессий в БД?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Какой, на хрен, INT с автоинкрементом??? Ты документацию на CDbHttpSession вообще хоть раз смотрел? Там чёрным по белому написано, какие типы должны иметь поля таблицы хранения сессий. Поле id хранит php'шный идентификатор сессии и потому должно иметь тип CHAR(32).
    Ответ написан
    Комментировать
  • Стоит ли изучать фреймворк PHP?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Те, кто называют фреймворки "костылями", похоже не понимают, что современные языки программирования сами по себе являются костылями. Зачем изучать алгоритмы сортировок, когда в PHP встроено 12 функций - на все случаи жизни? Зачем разбираться с выделением и очисткой памяти, если всё это делается автоматически? И т.д., и т.п.

    Если хочешь действительно научиться программированию, то начни с базовых знаний. Например, с "Искусства программирования" Кнута.

    И, разумеется, не надо начинать с написания собственного фреймворка "с нуля". Ты же не будешь видеть собственные ошибки. Даже не сможешь понять, что допустил ошибку. Потому лучше начни с разбора чужого кода...

    Возьми тот же Yii2 и попробуй разобраться - что и как там работает и почему сделано именно так, а не иначе. После этого возьми другой фреймворк и сравни их... Да Kohana сдохла, но тот же FuelPHP (который является форком Коханы) вполне себе развивается.
    Ответ написан
    Комментировать
  • Можно ли в Yii2 с помощью yii\db\ActiveQuery создать запись в БД ?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    ActiveQuery - это управление параметрами запроса ActiveRecord. Так что не получится.

    Но чем тебя QueryBuilder не устраивает?

    Цитата из документации:
    // INSERT
    $connection->createCommand()->insert('user', [
        'name' => 'Sam',
        'age' => 30,
    ])->execute();
    
    // INSERT multiple rows at once
    $connection->createCommand()->batchInsert('user', ['name', 'age'], [
        ['Tom', 30],
        ['Jane', 20],
        ['Linda', 25],
    ])->execute();
    Ответ написан
    1 комментарий
  • Как работает CSRF в yii2?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    А заглянуть в исходники и самому посмотреть - как там всё сделано? Ничего сложного там нет.
    Ответ написан
  • Как лучше организовать админ.панель в Yii2 с помощью RBAC?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    А зачем разделять? Для роли 'admin' выводишь в меню на сайте дополнительные админские пункты. Соответственно, и разрешение на вызов методов, реализующих эти пункты меню, должно быть дано только для роли 'admin'.
    Ответ написан
    Комментировать
  • Как сделать удобный метод выборки данных (Yii)?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    В MVC выборка дынных производится в моделях. Соответственно, всё, что ты написал в "менеджере подзадач", должно быть размещено в соответствующей модели. Если тебе нужен дополнительный механизм выборки данных - создаешь новый метод в модели. Именно модели должны отображать структуру данных и связей.

    В Yii достаточно мощная Active Record, позволяющая гибко выбирать данные из дочерних таблиц без дополнительных ухищрений. При правильной настройке связей в моделях подзадачи заданного родителя вполне можно получить так: Task::model()->findByPk($id)->Subtask.
    Ответ написан