Doctrine orm 条令2.0 findBy*-列包含下划线时不起作用
我有一个类,其中表中的一列包含下划线-uni_id 当我尝试查询时:Doctrine orm 条令2.0 findBy*-列包含下划线时不起作用,doctrine-orm,Doctrine Orm,我有一个类,其中表中的一列包含下划线-uni_id 当我尝试查询时: $campus_at_uni = $this->em->getRepository('models\campus')->findByUni_id($campus->uni_id); 然后发生错误。我怀疑这是因为uni和if之间的下划线 有解决办法吗 <?php /** * CampusModel */ namespace models; /** * @Entity * @Tabl
$campus_at_uni = $this->em->getRepository('models\campus')->findByUni_id($campus->uni_id);
然后发生错误。我怀疑这是因为uni和if之间的下划线
有解决办法吗
<?php
/**
* CampusModel
*/
namespace models;
/**
* @Entity
* @Table(name="campus")
*/
class Campus
{
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @Column(type="integer")
*/
public $uni_id;
/**
* @Column(type="string")
*/
public $name;
/**
* @Column(type="datetime")
*/
public $date_created;
/**
* @Column(type="datetime")
*/
public $date_modified;
}
?>
我找不到解决方法,因此最简单的答案是执行以下操作:
$campus_at_uni = $this->em->getRepository('models\Campus')->findBy(array('uni_id'=>$campus->uni_id));
您可以在自定义存储库中实现方法findByUniId。当然,但对于每种方法,您都需要这样做。您还可以编写自己的神奇方法,将findByStrStr解析为str_str。我知道,您必须在所有存储库中编写它,或者创建自己的基本存储库。