Страница 1 из 1

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

Добавлено: 2022.09.06, 10:08
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}"; }
, с помощью которого можно было бы получить сразу и колонку и таблицу... чуть меньше кода, чуть больше ООП

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

Добавлено: 2022.09.06, 13:58
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;
}