gpt4 book ai didi

symfony - 如何使用 knplabs 学说行为对 sonata admin 中的可翻译数据进行排序

转载 作者:行者123 更新时间:2023-12-05 06:46:13 26 4
gpt4 key购买 nike

我正在寻找将 KnplabsDoctrineBehaviors 与 SonataAdmin 一起使用的好方法。

我已经在这个 bundle 的帮助下在 sonata admin bundle 中呈现了一个表单:https://github.com/a2lix/TranslationFormBundle它工作正常并正确添加一个实体及其翻译。

为了列出奏鸣曲中的实体,我从 this 中找到了 hack但是当我在 Sonata-admin 的 listMapper 中向 Nom 添加 sortable 属性时,它不起作用。

class Sport
{

use \Knp\DoctrineBehaviors\Model\Translatable\Translatable;

public function __call($method, $arguments)
{
return $this->proxyCurrentLocaleTranslation($method, $arguments);
}

/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;

// Need this method for the admin list template
public function getNom(){
return $this->translate()->getNom();
}

// Work even the precedent method not here, the proxy call work fine.
public function __toString(){
return $this->getNom();
}
}

class SportTranslation
{
use ORMBehaviors\Translatable\Translation;

/**
* @ORM\Column(type="string", length=255)
*/
protected $nom;

/**
* @return string
*/
public function getNom()
{
return $this->nom;
}

/**
* @param string
* @return null
*/
public function setNom($nom)
{
$this->nom = $nom;
}
}

当我尝试按 Nom 排序时出现此错误:

Catchable Fatal Error: Argument 1 passed to
Sonata\DoctrineORMAdminBundle\Datagrid\ProxyQuery::entityJoin()
must be of the type array, null given, called in
.../vendor/sonata-project/doctrine-orm-admin-bundle/Sonata/DoctrineORMAdminBundle/Datagrid/ProxyQuery.php
on line 140
and defined in
.../vendor/sonata-project/doctrine-orm-admin-bundle/Sonata/DoctrineORMAdminBundle/Datagrid/ProxyQuery.php
line 245

我猜这是因为 Nom 不在 Sport 中,我不知道该如何处理。

最佳答案

响应有点慢,因为我自己刚刚遇到这个问题。我发现解决这个问题的方法其实很简单。在我的例子中,我希望能够按文章状态和标题进行过滤,其中标题是一个可翻译的字段。我设法让它工作的方法是显式使用翻译关系并在此子实体上指定字段,如下所示:

protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('translations.title', null, array('label' => 'Title'))
->add('status');
}

我希望这对遇到这种情况的其他人有帮助...

关于symfony - 如何使用 knplabs 学说行为对 sonata admin 中的可翻译数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17753528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com