Twig 无法在实时环境中传递可选参数
Twig fails to pass an optional parameter on live enviroment
我在树枝模板中有这些行:
{% for line in order.getItems() %}
{% set os = line.option.getOverstock(true)|first %}
其中指的是这个方法:
public function getOverstock($getQtyOrdering = false) {
if ($getQtyOrdering === false) {
return $this->overstock;
}
//sort the collection by the quantity field before returning
$iterator = $this->overstock->getIterator();
$iterator->uasort(function ($a, $b) {
return ($a->getQty() < $b->getQty()) ? 1 : -1;
});
$sortResult = new \Doctrine\Common\Collections\ArrayCollection(iterator_to_array($iterator));
return $sortResult;
}
在我的开发环境中,这工作得很好,但在现场,参数没有传递给方法。我已经检查了实时副本和开发副本以及我们的存储库 - 一切看起来都很好。
如何调试这种情况?
(我在 silex 框架中工作)
你可以使用dump函数http://twig.sensiolabs.org/doc/functions/dump.html来输出这个变量。
或通过以下方式添加 symfony 包 symfony/var-dumper
:
composer require symfony/var-dumper
为 twig 添加转储功能
$app->extend('twig', function ($twig) use ($app, $request) {
$twig->addFunction('dump', new \Twig_SimpleFunction('dump', '\dump'));
return $twig;
});
并在模板中输出这个变量
{% for line in order.getItems() %}
{{ dump(line.option.getOverstock(true)|first) }}
{{ dump(line.option.getOverstock(true)) }}
{{ dump(line) }}
{% set os = line.option.getOverstock(true)|first %}
我在树枝模板中有这些行:
{% for line in order.getItems() %}
{% set os = line.option.getOverstock(true)|first %}
其中指的是这个方法:
public function getOverstock($getQtyOrdering = false) {
if ($getQtyOrdering === false) {
return $this->overstock;
}
//sort the collection by the quantity field before returning
$iterator = $this->overstock->getIterator();
$iterator->uasort(function ($a, $b) {
return ($a->getQty() < $b->getQty()) ? 1 : -1;
});
$sortResult = new \Doctrine\Common\Collections\ArrayCollection(iterator_to_array($iterator));
return $sortResult;
}
在我的开发环境中,这工作得很好,但在现场,参数没有传递给方法。我已经检查了实时副本和开发副本以及我们的存储库 - 一切看起来都很好。
如何调试这种情况?
(我在 silex 框架中工作)
你可以使用dump函数http://twig.sensiolabs.org/doc/functions/dump.html来输出这个变量。
或通过以下方式添加 symfony 包 symfony/var-dumper
:
composer require symfony/var-dumper
为 twig 添加转储功能
$app->extend('twig', function ($twig) use ($app, $request) {
$twig->addFunction('dump', new \Twig_SimpleFunction('dump', '\dump'));
return $twig;
});
并在模板中输出这个变量
{% for line in order.getItems() %}
{{ dump(line.option.getOverstock(true)|first) }}
{{ dump(line.option.getOverstock(true)) }}
{{ dump(line) }}
{% set os = line.option.getOverstock(true)|first %}