Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony Twig异常,因为测试值是否为null时该值为null_Symfony_Exception_Null_Doctrine_Twig - Fatal编程技术网

Symfony Twig异常,因为测试值是否为null时该值为null

Symfony Twig异常,因为测试值是否为null时该值为null,symfony,exception,null,doctrine,twig,Symfony,Exception,Null,Doctrine,Twig,在数据库中,我有一个可为空的列。 当我渲染我的细枝模型时,空值会引发异常。 正常 但是,当我测试该值是否为null时,它也会抛出一个异常…因为该值为null 我的小树枝文件中有问题的部分: {% if musicien.photo is null %} <td><img class="img-vignette" src="data:image/jpeg;base64,{{ musicien.photo }}"/></td> {% else %}

在数据库中,我有一个可为空的列。 当我渲染我的细枝模型时,空值会引发异常。 正常

但是,当我测试该值是否为null时,它也会抛出一个异常…因为该值为null

我的小树枝文件中有问题的部分:

{% if musicien.photo is null %}
    <td><img class="img-vignette" src="data:image/jpeg;base64,{{ musicien.photo }}"/></td>
{% else %}
    <td><img class="img-vignette" src="data:image/jpeg;base64,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"/></td>
{% endif %}
引发异常的是
{%if musicien.photo为null%}
行。 如果此值为空,我只想显示一个默认值。

而不是:

{% if musicien.photo is null %}
  <td>
    <img class="img-vignette" src="data:image/jpeg;base64,{{ musicien.photo }}"/>
  </td>
{% else %}
...
{%如果musicien.photo为空%}
{%else%}
...
尝试:

{%如果musicien.photo为空%}
{%else%}
...
现在,您基本上要检查photo是否为null,然后无论如何都要尝试打印

  • 请不要在Symfony中使用
    isset($\u POST['..]])
    ,Symfony\Component\HttpFoundation\Request类就是用于此的
  • 使用一个单独的QueryBuilder,将其放在
    App\Repository\musiencerepository
  • 我想这对你有帮助

    控制器的index()操作

    public function index(MusicienRepository $musicienRepository, Request $request): Response 
    {
        // you can use $search = ($request->request->get('search')) ? $request->request->get('search') . '%' : '%';*/
    
        // But let's write something cool
        $search = $request->request->get('search');
    
        return $this->render('musicien/index.html.twig', [
            'musiciens ' => $musicienRepository->findLike($search),
        ]);
    }
    
    您的应用程序\存储库\音乐存储库

    public function findLike($search)
    {
        return $this->createQueryBuilder('m')
            ->andWhere('m.nomMusicien LIKE :search')
            ->setParameter('search', '%'.$search.'%')
            ->getQuery()
            ->getResult()
        ;
    }
    
    • {%if variable is null%}
      不需要测试给定变量是否为null,只需使用
      {%if variable%}
    那么您的index.html.twig必须是

    {% set photo = (musicien.photo) ? musicien.photo : 'your_default_photo' %}
    <td><img class="img-vignette" src="data:image/jpeg;base64,{{ photo }}"/></td>
    
    {%set photo=(musicien.photo)?musicien.photo:'您的默认照片'%}
    
    没错。我犯了一个错误,但抛出异常的不是这一行。我更改了行,现在应该显示默认照片。但是,抛出异常的实际上是“if musicien.phot为null”这一行,异常仍然是被抛出的。感谢您的帮助。我不知道请求对象存在,现在我更好地理解了Repository类。我编辑了我的代码,但是仍然会抛出异常…对musicien.photo的简单调用,即使是为了测试,也会抛出异常。“在呈现模板的过程中引发了异常(“警告:stream_get_contents()期望参数1为resource,null给定”)。”我不明白为什么要测试某个值是否为null,并且该值是否为null,它会引发异常…您能显示完整的控制器代码吗?还有musicien.html.twig
    public function findLike($search)
    {
        return $this->createQueryBuilder('m')
            ->andWhere('m.nomMusicien LIKE :search')
            ->setParameter('search', '%'.$search.'%')
            ->getQuery()
            ->getResult()
        ;
    }
    
    {% set photo = (musicien.photo) ? musicien.photo : 'your_default_photo' %}
    <td><img class="img-vignette" src="data:image/jpeg;base64,{{ photo }}"/></td>