我有实体Devekoper,我需要找到开发人员谁有密码,谁有新的参考,我怎么做我不知道:
/**
* Developers.
*
* @ORM\Table(name="developers")
* @ORM\Entity(repositoryClass="Artel\ProfileBundle\Entity\DeveloperRepository")
*/
class Developer extends CustomUser
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="password", type="string", length=80, nullable=true)
*/
protected $password;
/**
* @ORM\ManyToMany(targetEntity="Artel\ProfileBundle\Entity\CodeUserReference", inversedBy="alluser")
*/
protected $newreference;
我在用户
的字段代码引用setreference中有实体CodeUserReference class CodeUserReference
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Artel\ProfileBundle\Entity\Developer", inversedBy="newreference")
*/
protected $alluser;
/**
* @ORM\Column(type="string", length=255)
*/
protected $codereference;
/**
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime")
*/
protected $created_at;
我想找到所有参考谁没有参考的开发者。我试试:
public function getDevelopersWithRefernce()
{
$qb = $this->getEntityManager()->createQueryBuilder('d');
$qb
->select('d')
->from('ArtelProfileBundle:Developer', 'd')
->addSelect('COUNT(m.id) as nMethods')
->join('d.newreference', 'm')
->groupBy('d.id')
->orderBy("nMethods", 'DESC')
->getQuery();
$query = $qb->getQuery();
$results = $query->getResult();
return $results;
}
我有错误SQLSTATE [42S02]:找不到基表或视图:1146表'artel.developer_codeuserreference'不存在。我需要找到有参考或没有参考的开发人员。帮助
答案 0 :(得分:1)
它告诉你,CodeUserReference的表格不存在
所以
->join(d.newreference, 'm')
不起作用。
你能告诉我们CodeUserReference类的标题吗?
您是否已完成迁移以将此表添加到数据库中?
检查此命令是否创建具有差异的文件: doctrine:migrations:diff
public function getDevelopersWithRefernce()
{
$qb = $this->getEntityManager()->createQueryBuilder('d');
$qb
->select('d')
->from('ArtelProfileBundle:Developer', 'd')
->leftJoin('d.newreference', 'm')
->where('m.codereference IS NULL')
->andWhere('d.password IS NULL')
->getQuery();
$query = $qb->getQuery();
$results = $query->getResult();
return $results;
}