0

当我在基于 Laravel 的项目上运行 phpunit 时,出现错误:ErrorException: Trying to get property of non-object

但仅在 phpunit 上,页面呈现良好。

这是我的刀片模板中导致错误的代码行:

{{ $user->roles->first()->display_name }}

当我用以下(丑陋的)代码替换它时,phpunit 测试运行正常:

@php ($role = preg_replace('/[^a-z\d ]/i', '', $user->roles->pluck('display_name')) ) 
{{ $role }}

角色急切地加载到控制器中:

$users->load('roles');

知道为什么 phpunit 会抛出这个错误(而 laravel 不会)以及如何以更好的方式解决这个问题?

来自 phpunit 的堆栈跟踪:https ://paste.ee/p/dyMVs#

4

0 回答 0