-1
我是symfony的新手,我想创建一个查询生成器语句的建议。非常简单,这个想法是从第三个实体获取数据。symfony创建查询生成器
我有实体:
/**
* Entity
* @ORM\Entity(repositoryClass="LoungepassBundle\Entity\LoungepassRepository")
* @ORM\Table(name="loungepass_loungepass")
*
*/
class Loungepass{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
// ...
/**
* @ORM\ManyToOne(targetEntity="\AppBundle\Entity\Agency", inversedBy="loungepasses")
* @ORM\JoinColumn(name="agency_id", referencedColumnName="iata8", nullable=false)
*/
private $agency;
//...
}
机构实体
class Agency {
/**
* @ORM\Id
* @ORM\Column(type="string", length=8, name="iata8")
*/
protected $id;
//...
/**
* @ORM\OneToMany(targetEntity="LoungepassBundle\Entity\Loungepass", mappedBy="agency")
*/
protected $loungepasses;
/**
* @var Market
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Market")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="sales_country", referencedColumnName="id")
* })
*/
private $market;
//...
}
我愿做一个查询,如:
public function queryBySlugInContext($slug, $user) {
$query = $this->createQueryBuilder("l")
->where('l.slug = :slug')
->setParameter('slug', $slug);
if(count($user->getAgencies()) > 0){
$query->andWhere(':agencyIds MEMBER OF l.agencies')
->setParameter('agencyIds',$user->getAgencies());
}
能够从访问信息市场属性位于代理实体中。基本上,从市场实体中检索信息。
有什么建议吗? 预先感谢您
谢谢@Mcsky,是的,我在不同的网站上阅读互联网上的一些内容,但仍是对我来说很难理解。你能帮我建立查询,从第三张表中获取数据,或者一些可以帮助我的链接。谢谢 – andreahg
为什么我需要一个array_map和函数,在那个函数中我也可以调用市场,$ agency-> getMarkets()? “难以理解”的 – andreahg
不是合适的词,我希望文档或示例从不同的表中检索数据 – andreahg