SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец «регистрация» в «где предложение» в Yii 1.1 - PullRequest
0 голосов
/ 11 октября 2018
$use = Yii::app()->db->createCommand()
        ->select('name')
        ->from('user','registration')
        ->where('user.id=registration.user_id')
        ->queryRow();

Если я выгружаю MySQL с помощью cmd, эта команда идет в Yii, я был сбит с толку, я пытался изменить, но это все равно было не так.

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Вы должны использовать массив, если хотите передать несколько таблиц в from().

$use = Yii::app()->db->createCommand()
    ->select('name')
    ->from(['user', 'registration'])
    ->where('user.id=registration.user_id')
    ->queryRow();

В качестве альтернативы вы можете передать их в виде строки:

$use = Yii::app()->db->createCommand()
    ->select('name')
    ->from('user, registration')
    ->where('user.id=registration.user_id')
    ->queryRow();
0 голосов
/ 11 октября 2018

Вы пытаетесь использовать синтаксис неявного объединения старой школы до ANSI-92, и я не уверен, что Yii поддерживает это.Попробуй использовать современный явный синтаксис соединения:

$use= Yii::app()->db->createCommand()
    ->select('u.name')
    ->from('user u')
    ->join('registration r', 'u.id = r.user_id')
    ->queryRow();
...