PHP 推进组按两列


PHP Propel groupBy two columns

我对 groupBy in propell 有问题:

问题属于两个表。一个称为显示,另一个称为客户显示类型。在 customerDisplayType-table 中,有两列"driver"和"driverOptions"。我想对这两列进行分组。因此,结果可能如下所示:

Display1 -> with customerDisplayType driver "1" and driverOptions "xyz"
Display2 -> with customerDisplayType driver "1" and driverOptions "abc"
Display3 -> with customerDisplayType driver "2" and driverOptions "xyz"

我希望你明白我的意思...

到目前为止,我尝试了这样的事情:

    $displays = PiDisplayQuery::create()
    ->filterByStationId($_object->getId())    
    ->usePiCustomerDisplayTypeQuery()
        ->groupBy("CONCAT ".PiCustomerDisplayTypePeer::DRIVER.",".PiCustomerDisplayTypePeer::DRIVER_OPTIONS) // I also tried UNION instead of CONCAT
    ->endUse()
    ->find();

我该如何解决?

关于代码,如果你想使用多个 groupBy,你只需要多次调用 groupBy 方法:

$displays = PiDisplayQuery::create()
  ->filterByStationId($_object->getId())
  ->usePiCustomerDisplayTypeQuery()
    ->groupBy('PiCustomerDisplayType.Driver')
    ->groupBy('PiCustomerDisplayType.DriverOptions')
  ->endUse()
  ->find();