Я использую Doctrine 1.2 с Symfony 1.4. Допустим, у меня есть модель пользователя с одним профилем. Они определены как:
Пользователь:
Профиль:
Обычно я получаю такие данные:
$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"
)
)
Однако я бы хотел, чтобы пользователь включил "virtual" столбцы (не уверен, что это правильный термин), так что поля из профиля на самом деле выглядят так, как будто они являются частью пользователя. Другими словами, я хотел бы , чтобы оператор print_r выглядел больше как:
Array (
"User" => Array (
"id" => 1,
"username" => "jschmoe",
"first_name" => "Joseph",
"last_name" => "Schmoe"
)
)
Есть ли способ сделать это через мою схему. yml или через мой объект Doctrine_Query?