Он извлекает результаты в прямоугольной форме и использует псевдонимы таблиц в качестве префиксов и псевдонимы столбцов в качестве имени. Таким образом, все столбцы будут доступны через tableAlias_columnAlias.

ользую Doctrine 1.2 с Symfony 1.4. Допустим, у меня есть модель пользователя, которая имеет один профиль. Они определены как:

Пользователь:

Я быимя пользователяпарольсоздано вupdated_at

Профиль:

Я быЛогин пользователяИмяФамилияадресгородПочтовый индекс

Я бы обычно получал такие данные:

$query = Doctrine_Query::create()
    ->select('u.id, u.username, p.first_name, p.last_name')
    ->from('User u')
    ->leftJoin('Profile p')
    ->where('u.username = ?', $username);
$result = $query->fetchOne(array(), Doctrine_Core::HYDRATE_ARRAY);
print_r($result);

Это выведет что-то вроде следующего:

Array (
    "User" => Array (
        "id" => 1,
        "username" => "jschmoe"
    ),
    "Profile" => Array (
        "first_name" => "Joseph",
        "last_name" => "Schmoe"
    )
)

Тем не менее, я хотел бы, чтобы пользователь включал «виртуальные» столбцы (не уверен, что это правильный термин), чтобы поля из профиля выглядели так, как будто они являются частью пользователя. Другими словами, я былюбить чтобы оператор print_r выглядел больше как:

Array (
    "User" => Array (
        "id" => 1,
        "username" => "jschmoe",
        "first_name" => "Joseph",
        "last_name" => "Schmoe"
    )
)

Есть ли способ сделать это через мой файл schema.yml или через мой объект Doctrine_Query?

Ответы на вопрос(4)

Ваш ответ на вопрос