Метод который возвращает имя поля вместе с именем таблицы

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
iamguruman
Сообщения: 226
Зарегистрирован: 2018.05.10, 08:26

Метод который возвращает имя поля вместе с именем таблицы

Сообщение iamguruman »

Доброе утро,

я часто использую такие конструкции запросов:

Код: Выделить всё

if (($model = MOnecdbUser::find()
                ->joinWith(['onecdb'])
                ->andWhere([MOnecdb::tableName().'.orgjp_id' => $org_id])
                ->andWhere(['user_id' => aUserMyId()])
                ->andWhere(['type_blocked' => null])
                ->one()
            ) !== null) {
            return $model;
        }
вместо названия таблицы указываю метод tableName, было бы классно встроить метод

Код: Выделить всё

getColumnName(String $column_name){return self::tableName().".{$column_name}"; }
, с помощью которого можно было бы получить сразу и колонку и таблицу... чуть меньше кода, чуть больше ООП
Аватара пользователя
ElisDN
Сообщения: 5812
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Метод который возвращает имя поля вместе с именем таблицы

Сообщение ElisDN »

Можете использовать псевдонимы вместо имн таблиц:

Код: Выделить всё

if (($model = MOnecdbUser::find()
    ->alias('t')
    ->joinWith(['onecdb o'])
    ->andWhere(['t.orgjp_id' => $org_id])
    ->andWhere(['t.user_id' => aUserMyId()])
    ->andWhere(['t.type_blocked' => null])
    ->one()
) !== null) {
    return $model;
}
Ответить