我有2個實體:「請求」和「合作伙伴」 請求和合作夥伴之間有1to1關係,因此請求表 中有一個partners_id字段我想要顯示一個合作伙伴名單,但我需要一個數值從「價格」字段中請求表Symfony2樹枝打印2個非關聯表的查詢
在我的控制器,我有這個疑問:
$listPartners = $em
->getRepository('OandPboBundle:Partners')
->createQueryBuilder('p')
->select('p')
->leftJoin('OandPboBundle:Requests', 'r', 'WITH', 'r.partners = p.id')
->where('p.date LIKE :date AND p.active = :active')
->setParameter('date', '%'.$year.'-'.$month.'%')
->setParameter('active', 1)
->orderBy('p.date', 'DESC')
->addOrderBy('p.id', 'DESC')
->getQuery()
->getResult();
而在我的嫩枝文件我有
{% for partners in listPartners %}
<tr>
<td>{{ partners.id }}</td>
<td>{{ partners.price }}</td>
</tr>
{% endfor %}
當然還有是一個錯誤,因爲他們說那裏是「合作伙伴」無「價」字段(當然我希望把它從「請求」)
有沒有辦法做到這一點?
編輯 我後我的2個實體 實體 「請求」
class Requests
{ /** * @ORM \ OneToOne(targetEntity = 「OandP \ boBundle \實體\合作伙伴」,級聯= { 「persist」}) * @ORM \ JoinColumn(nullable = false) */ private $ partners;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="price", type="integer")
*/
private $price;
我的實體 「合作伙伴」
/**
*合作伙伴 * * @ORM \表(NAME = 「合作伙伴」) * @ORM \實體(repositoryClass =「OandP \ boBundle \實體\ PartnersRepository「) */ 級合作伙伴 {
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="raisonsociale", type="string", length=255)
*/
private $raisonsociale;
/**
* @var string
*
* @ORM\Column(name="firstname", type="string", length=255)
*/
private $firstname;
/**
* @var string
*
* @ORM\Column(name="lastname", type="string", length=255)
*/
private $lastname;
我認爲你需要在查詢中爲'Quotations'表添加一種'join'(也許是'cross join');)。 –
我們不知道你的實體是怎樣的。當然你應該發佈他們,如果你想有人幫助你.. – xurshid29
我已經添加了我的實體:) – sim100