Estoy usando Doctrine 1.2 con Symfony 1.4. Digamos que tengo un modelo de usuario, que tiene un perfil. Estos se definen como:¿Agregar columnas virtuales a la tabla actual en Doctrine?
usuario:
- Identificación
- nombre de usuario
- contraseña
- created_at
- updated_at
Perfil:
- Identificación
- user_id
- nombre apellido
- apellidos
- dirección
- ciudad
- postal_code
Me normalmente recibe datos como estos:
$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);
Esta salida algo sería como el siguiente:
Array (
"User" => Array (
"id" => 1,
"username" => "jschmoe"
),
"Profile" => Array (
"first_name" => "Joseph",
"last_name" => "Schmoe"
)
)
Sin embargo, me gustaría para el usuario para incluir columnas "virtuales" (no estoy seguro si este es el término correcto) de tal manera que los campos de perfil en realidad parece que es parte del usuario En otras palabras, me gusta para ver la declaración print_r vea más como:
Array (
"User" => Array (
"id" => 1,
"username" => "jschmoe",
"first_name" => "Joseph",
"last_name" => "Schmoe"
)
)
¿Hay una manera de hacerlo a través de mi archivo schema.yml oa través de mi objetivo Doctrine_Query?
Excelente, muchas gracias, ¡esto es muy útil! –
Ahora que sé lo que estoy buscando, aquí hay un enlace útil para aquellos que están haciendo algo similar en Symfony (como yo): http://www.symfony-project.org/more-with-symfony/1_4/en/08-Advanced-Doctrine-Usage # chapter_08_sub_using_the_hydrator –
Una última pequeña nota: necesitaba mi hidratador para extender 'Doctrine_Hydrator_ArrayDriver', no' Doctrine_Hydrator_ArrayHierarchyDriver'. –