我有两个实体如下:
<?php
// src/coreBundle/Entity/model.php
namespace coreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use coreBundle\Entity\brand;
/**
*@ORM\Entity
*@ORM\Table(name="model")
*/
class model
{
/**
* @ORM\ManyToOne(targetEntity="coreBundle\Entity\brand", inversedBy="models")
* @ORM\JoinColumn(name="brand_id", referencedColumnName="id")
*/
private $brands;
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
*@ORM\Column(type="integer")
*/
public $brand_id;
/**
*@ORM\Column(type="string", length=100)
*/
private $name;
/**
*@ORM\Column(type="string", length=100)
*/
private $image_url;
/**
*@ORM\Column(type="string", length=200)
*/
private $comment;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set brandId
*
* @param integer $brandId
*
* @return model
*/
public function setBrandId($brandId)
{
$this->brand_id = $brandId;
return $this;
}
/**
* Get brandId
*
* @return integer
*/
public function getBrandId()
{
return $this->brand_id;
}
/**
* Set name
*
* @param string $name
*
* @return model
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set imageUrl
*
* @param string $imageUrl
*
* @return model
*/
public function setImageUrl($imageUrl)
{
$this->image_url = $imageUrl;
return $this;
}
/**
* Get imageUrl
*
* @return string
*/
public function getImageUrl()
{
return $this->image_url;
}
/**
* Set comment
*
* @param string $comment
*
* @return model
*/
public function setComment($comment)
{
$this->comment = $comment;
return $this;
}
/**
* Get comment
*
* @return string
*/
public function getComment()
{
return $this->comment;
}
/**
* Set brands
*
* @param \coreBundle\Entity\brand $brands
*
* @return model
*/
public function setBrands(\coreBundle\Entity\brand $brands = null)
{
$this->brands = $brands;
return $this;
}
/**
* Get brands
*
* @return \coreBundle\Entity\brand
*/
public function getBrands()
{
return $this->brands;
}
}
第二个如下:
<?php
// src/coreBundle/Entity/brand.php
namespace coreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use coreBundle\Entity\model;
use Doctrine\Common\Collections\ArrayCollection;
/**
*@ORM\Entity
*@ORM\Table(name="brand")
*/
class brand
{
/**
* ORM\OneToMany(targetEntity="coreBundle\Entity\model", mappedBy="brands")
*/
private $models;
public function __construct()
{
$this->models = new ArrayCollection();
}
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
*@ORM\Column(type="string", length=100)
*/
private $name;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* @param string $name
*
* @return brand
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
}
“model”与“品牌”具有ManyToOne关系
我遇到架构验证问题,
*关联coreBundle \ Entity \ model#brands指的是不存在的反面字段coreBundle \ Entity \ brand#models
你能说出我做错了什么,提前谢谢。
答案 0 :(得分:1)
如果您在经过3个小时的痛苦后仍然感到疑惑,那么您错过了@
(brand.php)中的@ORM\OneToMany
。