situation suivante:Est-il possible d'étendre un modèle avec Doctrine 2?
Parent:
namespace Base;
/** @Entity @Table(name="section") */
class Section extends Skeleton {
/**
* @Id @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/** @Column(length=256) */
protected $title;
/** @Column(length=256) */
protected $stylesheet;
}
enfant:
namespace Base2;
use \Base\Section AS BaseSection;
/** @Entity @Table(name="tbl_section") */
class Section extends BaseSection {
/**
* @Id @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/** @Column(length=256) */
protected $title;
/** @Column(length=256) */
protected $stylesheet;
}
Lorsque je tente de récupérer une partie de la base de données, il génère une erreur:
PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.id'
in 'where clause' in /var/www/eage_new_zf/library/Doctrine/DBAL/Connection.php
on line 567 Call Stack #TimeMemoryFunctionLocation 10.0004489704{main}(
)../index.php:0 20.03193296632Zend_Controller_Front->dispatch(???, ???
)../index.php:27 30.04574505172Zend_Controller_Dispatcher_Standard->dispatch(
object(Zend_Controller_Request_Http)[39], object(Zend_Controller_Response_Http)[40]
)../Front.php:954 Variables in local scope (#3)
Le requête qu'il tente d'exécuter est:
SELECT
t1.id AS id2,
t1.title AS title3,
t1.stylesheet AS stylesheet4
FROM
tbl_section t1
WHERE
t0.id = ?
t0 n'est pas défini donc techniquement c'est correct Je reçois une erreur. Mais comment résoudre cela? Est-ce un bug dans Doctrine 2? Ou est-ce que je fais quelque chose de mal?
Merci pour votre réponse. J'ai complètement raté la documentation que vous avez mentionnée, mais je suppose que cela fera l'affaire. Je ne sais pas si je suis d'accord avec vous sur la dernière partie, mais c'est juste quelque chose de personnel je suppose. Merci pour la suggestion de toute façon. –
Lien est mort, voici un nouveau: http://doctrine-orm.readthedocs.org/en/latest/reference/inheritance-mapping.html;) –