作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在执行这个 SQL 请求时遇到了麻烦:
SELECT *
FROM project
LEFT JOIN user
ON project.idAuthor=user.id
WHERE project.isVisible = 1 AND
user.role = 'agency'
到一个简单的 Symfony 查询生成器:
$query = $this->createQueryBuilder('p')
->leftJoin('WebAwardsBundle:User', 'u')
->where('p.isVisible = 1')
->andwhere("u.role = 'agency'")
->orderBy('p.id', 'DESC')
->getQuery();
此查询的响应为我提供了所有项目,包括角色时的项目!== agency ...
我不知道我可以把 ON project.idAuthor=user.id
放在哪里
映射:
项目:
/**
* Project
*
* @ORM\Table(name="project")
*@ORM\Entity(repositoryClass="WebAwardsBundle\Repostory\ProjectRepository")
*/
class Project
{
...
/**
* @var int
*
* @ORM\ManyToOne(targetEntity="User", inversedBy="projects")
* @ORM\JoinColumn(name="idAuthor", referencedColumnName="id")
*/
private $idAuthor;
...
用户:
/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity(repositoryClass="WebAwardsBundle\Repository\UserRepository")
*/
class User implements UserInterface, \Serializable{
...
/**
* @ORM\OneToMany(targetEntity="Project", mappedBy="idAuthor")
*/
private $projects;
...
最佳答案
执行此 SQL 请求的正确答案:
SELECT *
FROM project
LEFT JOIN user
ON project.idAuthor=user.id
WHERE project.isVisible = 1 AND
user.role = 'agency'
是加入实体的正确列(在本例中为用户的 project.idAuthor):
$query = $this->createQueryBuilder('p')
->join('p.idAuthor', 'u')
->where('p.isVisible = 1')
->andWhere("u.role = 'agency'")
->orderBy('p.id', 'DESC')
->getQuery();
关于php - createQueryBuilder/加入列 - Symfony,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39351808/
我是一名优秀的程序员,十分优秀!