我有类miejsceSymfony2的学说onetoone得到
namespace Miejsce\ObiektyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Miejsce
* @ORM\Entity
* @ORM\Table(name="mMiejsce")
*/
class Miejsce
{
...
/**
* @var Lokalizacja $lokalizacja
* @ORM\OneToOne(targetEntity="Miejsce\LokalizacjaBundle\Entity\Lokalizacja" , mappedBy="miejsce")
* @ORM\JoinColumn(name="id", referencedColumnName="id")
*/
protected $lokalizacja;
/**
* Get lokalizacja
*
* @return \Miejsce\LokalizacjaBundle\Entity\Lokalizacja
*/
public function getLokalizacja()
{
return $this->lokalizacja;
}
和lokalizacja
namespace Miejsce\LokalizacjaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Miejsce\ObiektyBundle\Entity\Miejsce;
/**
* @ORM\Entity
*
* @ORM\Table(name="mLokalizacja")
*
*/
class Lokalizacja {
/**
* @var Miejsce
* @ORM\OneToOne(targetEntity="Miejsce\ObiektyBundle\Entity\Miejsce", inversedBy="lokalizacja")
* @ORM\JoinColumn(name="id", referencedColumnName="id")
*/
protected $miejsce;
我尝试在控制器获得对象:
$miejsce = $this->getDoctrine()
->getRepository('MiejsceObiektyBundle:Miejsce')
->find(1);
var_dump($miejsce->getLokalizacja());
,并有空时不要有= * @ORM \ JoinColu mn(name =“id”,referencedColumnName =“id”) 在数据库中我有mMiejsce.id = 1和mLokalizacja.id
为什么这个不连接这个元素? 我想得到miejsce对象,并已提交lokalizacja - onetoone关系 - 编号= ID
我做错了什么?
,但是当我把* @ORM \ JoinColumn(name = “ID”,referencedColumnName = “ID”)
我得到:
类Miejsce \ LokalizacjaBundle \实体\ Miejsce不存在 500内部服务器错误 - ReflectionException
现在我有:
确定,所以现在我有:
/**
* Miejsce
* @ORM\Entity
* @ORM\Table(name="mMiejsce")
*/
class Miejsce
{
/**
* @var integer
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var Lokalizacja $lokalizacja
* @ORM\OneToOne(targetEntity="Miejsce\LokalizacjaBundle\Entity\Lokalizacja", mappedBy="miejsce")
* @ORM\JoinColumn(name="id", referencedColumnName="miejsce_id")
*/
protected $lokalizacja;
和
class Lokalizacja {
/**
* Lokalizacja.id = Miejsce.id
* @ORM\Column(type="integer")
* @ORM\Id
*/
protected $id;
/**
* @var Miejsce
* @ORM\OneToOne(targetEntity="Miejsce\ObiektyBundle\Entity\Miejsce", inversedBy="lokalizacja")
* @ORM\JoinColumn(name="miejsce_id", referencedColumnName="id")
*/
protected $miejsce;
/**
* @ORM\Column(type="integer")
*/
protected $miejsce_id;
数据库的更新工作,确定
php app/console doctrine:schema:update --force
Database schema updated successfully! "5" queries were executed
,但仍然有:
Class Miejsce\LokalizacjaBundle\Entity\Miejsce does not exist
500 Internal Server Error - ReflectionException
它很奇怪 - 为什么学说/ symfony中试图找到不同势束这个类? (实体是在其他包也许这就是问题?)
我喜欢你写的,但现在有 - 类Miejsce \ LokalizacjaBundle \实体\ Miejsce做不存在 - 为什么这个搜索Miejsce \ LokalizacjaBundle \ Entity \ Miejsce这个类是在Miejsce \ ObiektyBundle \ Entity不是LokalizacjaBundle –
lokalizacja_id?但这个关系有miejsce.id = lokalizacja.id - 没有插件行lokalizacja_id只有主要到主 –
看看我为我写的代码编辑。注意'lokalizacja_id'?你必须在'Miejsce'中创建一个新的变量,该变量将存储引用'Lokalizacja'的ID。当使用'id'作为两个值的'JoinColumn'时,你试图将'Miejsce'的'id'和''Lokalizacja'的'id'映射到一起! – sjagr