• Не могу передать json в formData, как отправить?

    @Dgacarda Автор вопроса
    Решил проблему так:
    Заполнение formData:
    for (let k in arr) {
                    if (k === "contacts") {
                        for (let i in arr[k]) {
                            formData.append("contacts", JSON.stringify(arr[k][i]));
                        }
                    } else {
                        formData.append(k, JSON.stringify(arr[k]));
                    }
                }

    Полученные значения:
    <QueryDict: {'email': [''], 'password': ['null'], 'password_confirm': ['null'], 'surname': [''], 'name': [''], 'middlename': [''], 'contacts': ['{"contact_type":"mail","contact":"ываыва"}', '{"contact_type":"mail","contact":"ывааааа"}'], 'city': ['null'], 'photo': ['undefined']}>

    На сервере с помощью json.loads из строки получил json
    Ответ написан
    Комментировать
  • Есть ли хорошие примеры реализации JWT для Yii?

    @matperez
    В качестве реализации для PHP стоит взять firebase/php-jwt. Для Angular не подскажу, но наверное можно использовать пакет jsrsasign из bower.
    Не знаю как именно у вас реализован REST. В стандартном Yii2 все легко делается. Вам нужно будет переопределить метод \yii\web\User::loginByAccessToken в модели пользователя и тогда можно использовать стандартные \yii\filters\auth\HttpBearerAuth или \yii\filters\auth\QueryParamAuth для авторизации в REST API. Первый требует токен в загловке, второй как параметр в GET запросе.
    Ответ написан
    1 комментарий
  • Как организовать генерирование ссылок для интернет магазина?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Любой кеш подойдет. В yii по сути кеширование оторвано от типа кеша. Так что реализация одинаковая. Тут все зависит от того, что есть на сервере.
    Но по идее, если жадная загрузка, то связи 1 запросом придут.
    Ответ написан
    Комментировать
  • Как получить список файлов в директории и переименовать один из них?

    SamDark
    @SamDark
    Yii2 core team
    $files = FileHelper::findFiles($dir);

    Остальное средствами PHP.
    Ответ написан
    Комментировать
  • MySQL запрос из двух таблиц

    seriyPS
    @seriyPS
    Надеюсь эту картинку вы знаете?



    Допустим, таблица A это SELECT * FROM games, а таблица B это SELECT * FROM uploaded_games WHERE user_id = ?.

    Т.е. вам нужно из таблицы A вычесть таблицу B (в терминах теории множеств). На картинке это левый столбец, второй сверху.

    SELECT *
    FROM games as A
    LEFT JOIN uploaded_games as B ON (A.game_id = B.game_id)
    WHERE B.game_id is NULL AND B.user_id = ?
    


    Можно записать более наглядно, но, скорее всего, MySQL его не соптимизирует эффективно

    SELECT *
    FROM games
    WHERE game_id NOT IN (
      SELECT game_id FROM uploaded_games WHERE user_id = ?
    )
    
    Ответ написан
    Комментировать