我正在使用Symfony和Doctrine。 當架構通過控制檯命令php bin/console doctrine:schema:update --force
創建時,它不會創建我想要的關係。學說 - 未在數據庫中創建關係
兩類:
考生 ORM實體類:
namespace AppBundle\Libraries\Data;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="candidates")
*/
class Candidates
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
* @ORM\OneToMany(targetEntity="AppBundle\Libraries\Data\Votes", mappedBy="nCandidate")
*/
private $nID;
/**
* Get nID
*
* @return integer
*/
public function getNID()
{
return $this->nID;
}
}
投票 ORM實體類:
namespace AppBundle\Libraries\Data;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="votes")
*/
class Votes
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
private $nID;
/**
* @ORM\Column(type="integer")
* @ORM\ManyToOne(targetEntity="AppBundle\Libraries\Data\Candidates", inversedBy="nID")
*/
private $nCandidate;
/**
* Get nID
*
* @return integer
*/
public function getNID()
{
return $this->nID;
}
/**
* Set nCandidate
*
* @param integer $nCandidate
*
* @return Votes
*/
public function setNCandidate($nCandidate)
{
$this->nCandidate = $nCandidate;
return $this;
}
/**
* Get nCandidate
*
* @return integer
*/
public function getNCandidate()
{
return $this->nCandidate;
}
}
學說配置部分中config.yml外觀像這樣:
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
# path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: false
mappings:
FOSUserBundle: ~
AppBundle:
type: annotation
dir: "%kernel.root_dir%/../src/AppBundle/Libraries/Data"
prefix: AppBundle\Libraries\Data
應該創建的關係在PHPMyadmin或MySQL Workbench中不可見。
是啓用了Doctrine元數據緩存嗎? – Vamsi
@Vamsi我沒有特別啓用任何東西,這是在配置? – Orlando
你有沒有得到任何錯誤或只是沒有創建?輸出命令是什麼php bin/console doctrine:schema:update --dump-sql? – Thomas