Php Symfony-声明不兼容时定义变量

Php Symfony-声明不兼容时定义变量,php,class,doctrine-orm,symfony-3.4,Php,Class,Doctrine Orm,Symfony 3.4,我编写了一个条令查询生成器,用一张卡返回所有交易。 所以我在另一个函数中调用$card变量,它抛出: 警告:服务声明\SomeService::showFields(ShowMapper$ShowMapper$card)应与Admin\AbstractAdmin::configureShowFields(ShowMapper$show)兼容 由于我无法更改此管理服务的语法或添加新实例,我需要一种解决方法 这是主要功能 protected function configureShowFields

我编写了一个条令查询生成器,用一张卡返回所有交易。 所以我在另一个函数中调用$card变量,它抛出:

警告:服务声明\SomeService::showFields(ShowMapper$ShowMapper$card)应与Admin\AbstractAdmin::configureShowFields(ShowMapper$show)兼容

由于我无法更改此管理服务的语法或添加新实例,我需要一种解决方法

这是主要功能

 protected function configureShowFields(ShowMapper $showMapper, $card->this throws an error, it can't be set here)
{

    $transactions = $this->getTransactions($card);

...etc
还有我的问题:

 public function getTransactions(Card $card)
{
    return $this->getTransactionRepository()
        ->createQueryBuilder('t')
        ->where('t.card = :card')
        ->setParameter('card', $card)
        ->orderBy(''desc')
        ->getQuery()
        ->getResult();
}
我试过:

 public $cards;

public function __construct(Card $cards)
{
    parent::__construct();
    $this->cards = $cards;
}

$cards = $this->cards;
 $transactions = $this->getTransactions($cards);
但它会抛出

只有具有标识符的实体才允许将实体绑定到查询参数


也许您可以将
$card
作为
SomeService
类上的变量,并使用getter/setter。这样,您可以首先在类上设置卡片,然后在函数中使用getter来检索卡片信息,而无需将其作为参数传递。也许您可以将
$card
作为
SomeService
类上的变量,并使用getter/setter。这样,您可以首先在类上设置卡片,然后在函数中使用getter检索卡片信息,而无需将其作为参数传递。