Я использую Doctrine 1.2 с Symfony 1.4.Допустим, у меня есть модель пользователя, которая имеет один профиль.Они определены как:
Пользователь:
- id
- имя пользователя
- пароль
- созданный_ат
- updated_at
Профиль:
- id
- user_id
- first_name
- last_name
- address
- city
- postal_code
Обычно я получаю данные, подобные этим:
$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объект