Вызов функции-члена role () в null в Laravel

Я столкнулся с этой проблемой на php 7.1, который поставляется с High Sierra (OS X 10.13.5), редактирование /etc/apache2/httpd.conf со следующими изменениями помогло:

  1. Раскомментировать эту строку
    LoadModule php7_module libexec/apache2/libphp7.so
    
  2. Вставить пасту в конце
    <IfModule php7_module>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
    
        <IfModule dir_module>
            DirectoryIndex index.html index.php
        </IfModule>
    </IfModule>
    
1
задан Yorg Vermeulen 24 March 2019 в 22:05
поделиться

2 ответа

Вы правы, что вызов first() в вашем запросе возвращает ноль, поэтому и возникает причина, по которой вы получаете эту ошибку.

Итак, что вы можете использовать для предотвращения вызова roles() для нулевого объекта, это использовать метод firstOrFail(), который выдаст ModelNotFoundException, который вы можете поймать, используя блок try catch, и обработать его изящно. [ 119]

И, как я вижу, по вашему мнению, вы не отправляете значение электронного письма в своей форме, поэтому вы должны поместить это письмо в скрытый ввод:

<td>
<input type="hidden" name="email" value="{{$user->email}}" />
{{$user->email}}"
</td>

не имея, поэтому вы получить null результат.

0
ответ дан nakov 24 March 2019 в 22:05
поделиться

Вы должны проверить, установлены ли значения, которые вы намереваетесь передать. Это можно сделать с помощью примера isset @isset ('$ user-> hasRole (' User ')');

0
ответ дан bleard 24 March 2019 в 22:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: