После ситуации:Возможно ли продлить модель с доктриной 2?
Родитель:
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;
}
Ребенок:
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;
}
Когда я пытаюсь извлечь раздел из базы данных он выдает ошибку:
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)
The запрос, который он пытается выполнить:
SELECT
t1.id AS id2,
t1.title AS title3,
t1.stylesheet AS stylesheet4
FROM
tbl_section t1
WHERE
t0.id = ?
t0 не определен, так что технически это правильно. Я получаю сообщение об ошибке. Но как это решить? Это ошибка в Доктрине 2? Или я делаю что-то неправильно.
Спасибо за ваш ответ. Я полностью пропустил документацию, которую вы упомянули, но я полагаю, что это будет сделано. Я не знаю, согласен ли я с вами в последней части, но это только что-то личное, я думаю. Спасибо за предложение в любом случае. –
Ссылка мертва, вот новая: http://doctrine-orm.readthedocs.org/en/latest/reference/inheritance-mapping.html;) –