学说的问题[Symfony 2.8]



我对此数组有问题

$contenuLigne = array(
    $article->getSousFamille()->getId(),
    $article->getArticlePlateforme()->first()->getFournisseurCommun()->getNom(),
    $article->getNom(),
    '="'.$article->getArticleGencod()->first()->getGencod()->getCodeBarreComplet().'"',
    $article->getId(),
    $article->getArticlePlateforme()->first()->getReferenceFournisseur(),
    $article->getArticlePlateforme()->first()->getCodeProduitGv(),
    $article->getArticlePlateforme()->first()->getColisage(),
    ($article->getArticlePlateforme()->first()->getPrixActuels()->first()->getQuantiteMinimum()) ? $article->getArticlePlateforme()->first()->getPrixActuels()->first()->getQuantiteMinimum() : $article->getArticlePlateforme()->first()->getMinimumCommande(),
    $article->getUniteAchatComplete(),
    $article->getArticlePlateforme()->first()->getPrixActuels()->first()->getPrixNet(),
    $article->getArticlePlateforme()->first()->getPrixActuels()->first()->getDateDebut()->format('d/m/Y'),
    ($article->getArticlePlateforme()->first()->getPrixFuturs()->count() > 0 ? $article->getArticlePlateforme()->first()->getPrixFuturs()->first()->getPrixNet() : ''),
    ($article->getArticlePlateforme()->first()->getPrixFuturs()->count() > 0 ? $article->getArticlePlateforme()->first()->getPrixFuturs()->first()->getDateDebut()->format('d/m/Y') : ''),
    $article->getTauxTva()->getTaux(),
    $article->getPrixVenteConseille(),
    $article->getUniteVenteComplete(),
    $article->getArticlePlateforme()->first()->getStock(),
);

有时线

会导致错误,如果他们找不到结果,我该如何制作这些行会返回一个空字符串:"

($article->getArticlePlateforme()->first()->getPrixActuels()->first()->getQuantiteMinimum()) ? $article->getArticlePlateforme()->first()->getPrixActuels()->first()->getQuantiteMinimum() : $article->getArticlePlateforme()->first()->getMinimumCommande(),
$article->getArticlePlateforme()->first()->getPrixActuels()->first()->getPrixNet(),
$article->getArticlePlateforme()->first()->getPrixActuels()->first()->getDateDebut()->format('d/m/Y'),

他们通常会将我返回这个错误

错误:致电非对象(500个内部服务器错误)上的成员函数getQuantIteminimin()

如果他们找不到结果,我该怎么办,并制作这些行会返回一个空字符串:"?

这3中的共同点是,在某些情况下,文章可能没有prixactuels。

最好的简单是创建一个值对象:)

这是一个很小的例子:

<?php
/**
 * Represents an Article value.
 */
final class Article
{
    /**
     * @var Article
     */
    private $article;
    public function __construct(Article $article)
    {
        $this->article = $article;
    }
    public function getSousFamilleId()
    {
        $this->article->getSousFamille()->getId();
    }
    /**
     * Suppose all getters are a DoctrineCommonCollectionsCollection
     */
    public function getNameForCommonSupplier()
    {
        $articlePlateforme = $this->article->getArticlePlateforme();
        if ($articlePlateforme instanceof Collection) {
            $fournisseurCommun = $articlePlateforme->first()->getFournisseurCommun();
            if ($fournisseurCommun) {
                $fournisseurCommun->getNom();
            }
        }
        return null;
    }
    /**
     * Gets a native PHP array representation of the Article.
     *
     * @return array
     */
    public function toArray()
    {
        return [
            $this->getSousFamilleId(),
            $this->getNameForCommonSupplier(),
        ];
    }
}
$contenuLigne = new Article($article);
$contenuLigne->toArray();

现在,您都有一个专门用于获取和检查元素的对象。

我同意@jepster,您应该真正考虑修改您正在构建数组的方式。

如果您真的想挤压NULL检查该代码,则可以继续使用三元操作,只需检查该实体是否为null,即类似的东西:

$prixActuels = $article->getArticlePlateforme()->first()->getPrixActuels();
$contenuLigne = array(
    ...
    $article->getUniteAchatComplete(),
    $prixActuels ? $prixActuels->first()->getPrixNet() : " ",
    ...
);

相关内容

  • 没有找到相关文章

最新更新