我有这个实体:
.splash_image{
left: 0;
top: 2%;
overflow: hidden;
width: 100%;
z-index: 1;
height: 100%;
}
.splash_image img{
width:100%;
position:absolute;
}
.splash_title{
color: red;
z-index: 88;
position: absolute;
top: 50%;
left: 50px;
right: 0;
bottom: 0;
margin: auto;
}
.wrapper{
width: 50%;
height: 150px;
position: relative;
}
我尝试通过$ parser进行结果过滤,如下所示:
/**
* Class ParserURLs
* @package AppBundle\Entity
* @ORM\Entity(repositoryClass="AppBundle\Entity\ParserURLsRepository")
*/
class ParserURLs
{
/**
* @ORM\Id
* @ORM\Column(type="string", length=50)
*/
protected $external_id;
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Parser")
*/
protected $parser;
...
}
但是Doctrine告诉我:$query = $this->doctrine->getManager()->createQuery(
'SELECT u
FROM AppBundle:ParserURLs u
WHERE u.parser = :parser')
->setParameter('parser', $this->parser);
$result = $query->getResult();
我认为问题因为多个主键 external_id-parser 而现在,我只想通过其中一个搜索。在Doctrine中不可能吗?我需要这个主键。 提前谢谢你
答案 0 :(得分:1)
您的注释中看起来缺少名称属性。您的定义应如下所示:
/**
* @var string
*
* @ORM\Column(name="id", type="string", length=9)
* @ORM\Id
*/
private $id;
其中name =“id”是您DB中字段的名称
如果您的ID有自动增量,则必须添加以下行:
@ORM\GeneratedValue(strategy="AUTO")