作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有实体 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;
我在用户的字段 codereference 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]: 未找到基表或 View : 1146 表 'artel.developer_codeuserreference' 不存在 。我需要找到有引用或没有引用的开发人员。帮助
最佳答案
这表明您 CodeUserReference 的表不存在
所以
->join(d.newreference, 'm')
不会起作用。
您能给我们看看 CodeUserReference 类的 header 吗?
您是否已完成迁移以将此表添加到数据库?
检查此命令是否创建一个具有差异的文件: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;
}
关于php - 创建 QueryBuilder 以查找字段 ManuToMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31399968/
我有实体 Devekoper,我需要找到有密码和新引用的开发人员,我现在不知道该怎么做: /** * Developers. * * @ORM\Table(name="
我是一名优秀的程序员,十分优秀!