带集合字段的奏鸣曲管理导出字段
Sonata admin export fields with collection fields
我正在尝试创建用于导出的自定义列,但我无法访问子项。有没有可能做到这一点?
此时我的代码如下所示:
public function getExportFields()
{
return [
'ID' => 'id',
'Transaction number' => 'transactionNumber',
'Loan account' => 'loan',
'Loan name' => 'loan.name',
'Amount' => 'amount',
//'Amount ($)' => '',
'Transaction type' => 'transactionCategory',
'Reference' => 'transactionAssociation.cashTransaction.transactionNumber',
'Date' => 'date'
];
}
我找不到解决办法。本来想用PropertyAccess,不知道怎么集成到这里。
我正在将 Symfony 3.X 与奏鸣曲一起使用。
要在导出中获取集合记录,您不能通过指定具有关联的 属性 直接执行此操作,实现此目的的解决方法是在您的实体中定义一个新的未映射 属性 getter 函数将获取所有集合详细信息,如在您的主要实体中定义新的 属性 为
protected $cashTransactionNumber;
public function getCashTransactionNumber()
{
$cashTransactionNumber = array();
$i = 1;
foreach ($this->getTransactionAssociation() as $key => $transactionAssociation) {
$cashTransactionNumber [] = $i .
') No.:' . $transactionAssociation->somemethod()->__toString()() .
/** Other properties */;
$i++;
}
return $this->cashTransactionNumber = join(' , ', $cashTransactionNumber );
}
然后在您的 getExportFields()
方法中调用此 属性
public function getExportFields(){
return array(
'Reference'=>'cashTransactionNumber ',
....// Other properties
);
}
Reference: Exporting one to many relationship on sonata admin
我正在尝试创建用于导出的自定义列,但我无法访问子项。有没有可能做到这一点?
此时我的代码如下所示:
public function getExportFields()
{
return [
'ID' => 'id',
'Transaction number' => 'transactionNumber',
'Loan account' => 'loan',
'Loan name' => 'loan.name',
'Amount' => 'amount',
//'Amount ($)' => '',
'Transaction type' => 'transactionCategory',
'Reference' => 'transactionAssociation.cashTransaction.transactionNumber',
'Date' => 'date'
];
}
我找不到解决办法。本来想用PropertyAccess,不知道怎么集成到这里。
我正在将 Symfony 3.X 与奏鸣曲一起使用。
要在导出中获取集合记录,您不能通过指定具有关联的 属性 直接执行此操作,实现此目的的解决方法是在您的实体中定义一个新的未映射 属性 getter 函数将获取所有集合详细信息,如在您的主要实体中定义新的 属性 为
protected $cashTransactionNumber;
public function getCashTransactionNumber()
{
$cashTransactionNumber = array();
$i = 1;
foreach ($this->getTransactionAssociation() as $key => $transactionAssociation) {
$cashTransactionNumber [] = $i .
') No.:' . $transactionAssociation->somemethod()->__toString()() .
/** Other properties */;
$i++;
}
return $this->cashTransactionNumber = join(' , ', $cashTransactionNumber );
}
然后在您的 getExportFields()
方法中调用此 属性
public function getExportFields(){
return array(
'Reference'=>'cashTransactionNumber ',
....// Other properties
);
}
Reference: Exporting one to many relationship on sonata admin