Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inheritance 继承实体主义_Inheritance_Doctrine - Fatal编程技术网

Inheritance 继承实体主义

Inheritance 继承实体主义,inheritance,doctrine,Inheritance,Doctrine,编辑:此示例完全有效:-)我有罪 我需要继承实体: /** * User * * @ORM\Table(name="user") * @ORM\Entity * @ORM\InheritanceType("JOINED") * @ORM\DiscriminatorColumn(name="type", type="string") * @ORM\DiscriminatorMap({"user" = "User", "worker" = "Worker", "customer" =

编辑:此示例完全有效:-)我有罪

我需要继承实体:

/**
 * User
 *
 * @ORM\Table(name="user")
 * @ORM\Entity
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="type", type="string")
 * @ORM\DiscriminatorMap({"user" = "User", "worker" = "Worker", "customer" =     "Customer"})
 */
class User
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;
   }
和儿童性:

 /**
  * Worker
  *
  * @ORM\Table(name="worker")
  * @ORM\Entity
  */
 class Worker extends User
 { 
 }
这是我数据库的一部分

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
   PRIMARY KEY (`id`),
) ENGINE=InnoDB  

CREATE TABLE IF NOT EXISTS `worker` (
  `id` int(11) NOT NULL
)

ALTER TABLE `worker`
  ADD CONSTRAINT `FK_Worker_User` FOREIGN KEY (`id`) REFERENCES `user` (`id`) ON     DELETE CASCADE ON UPDATE CASCADE;
我做错了什么?当我尝试使用用户实体(它不是抽象的!)时,我得到一个错误: 条令\DBAL\DBALException

An exception occurred while executing 
'SELECT t0.id AS id1, t0.name AS name2, t0.surname AS surname3, 
t0.email AS email4, t0.password AS password5, t0.phone AS phone6, 
t0.www AS www7, t0.skype AS skype8, t0.active AS active9, 
t0.datetime AS datetime10, t0.role_id AS role_id11, 
t0.company_id AS company_id12, t0.type, t13.salary AS salary14, 
t13.hourSalary AS hourSalary15, t13.parent AS parent16, t13.userGroup_id AS userGroup_id17 
FROM user t0 
LEFT JOIN worker t13 ON t0.id = t13.id 
LEFT JOIN customer t18 ON t0.id = t18.id 
WHERE t0.email = ? LIMIT 1' 
with params {"1":"info@ondrej-sejvl.cz"}: 
SQLSTATE[42S22]: Column not found: 1054 Unknown column 't13.id' in 'on clause'
为什么t13.id列未知。。这是在我的数据库中

我很抱歉:-)这个例子完全有效,我只是忘记更改数据库参数,所以我使用的是不同的数据库。。