使用 doctrine2 在 symfony2 中连接两个实体



有两个实体。票证设备

设备或有

<one-to-many target-entity="Ticket" mapped-by="Device" field="ticket"/>
<many-to-one field="category" target-entity="Category"/>

票务或

<many-to-one field="device"  target-entity="Device"/>

我想实现一个过滤器,用户可以在其中按设备的类别过滤票证。我该怎么做?我试过

$qb->select(array('t', 'd'))
        ->from('MyBundle:Ticket', 't')
        ->innerJoin('t.device', 'd')
        ->where("t.category.name = 'Cashbox'");;

但这给了我一个错误

[Syntax Error] line 0, col 88: Error: Expected =, <, <=, <>, >, >=, !=, got '.'
->where("t.category.name = 'Cashbox'");;

是不正确的。您必须加入类别表:

$qb
    ->select(array('t', 'd'))
    ->from('MyBundle:Ticket', 't')
    ->innerJoin('t.device', 'd')
    ->innerJoin('d.category', 'c')
    ->where("c.name = 'Cashbox'");

相关内容

  • 没有找到相关文章

最新更新