laravel方法Illuminate \ View \ View :: __ toString()不得抛出异常

时间:2016-03-26 06:46:42

标签: php laravel-5.2

我的代码是

 @foreach($top_15_posts as $status )
       {!!  view('layouts.app-internal.user_status',[
       'status'=>$status,
       'user'=>\App\Eloquent\User::find($status->users_id)
            ]) !!}}
 @endforeach

如何克服此错误?

1 个答案:

答案 0 :(得分:0)

你可能想要检查一下。 Laravel Error: Method Illuminate\View\View::__toString() must not throw an exception

有一个非常简单的解决方案:不要将View对象转换为字符串。

不要:回显View :: make(' ..');或回声视图(' ..');

执行:echo View :: make(' ..') - > render();或回声视图(' ..') - > render();

通过转换视图,它自动使用__toString()方法,不会抛出异常。如果手动调用render(),则会正常处理异常。

这实际上是PHP限制,而不是Laravels。详细了解这个"功能"在这里:https://bugs.php.net/bug.php?id=53648

-----------和这---------------

情况1:尝试在数组中打印出一个值。

答案1:尝试打印出阵列。你确定它是一个阵列吗?当它是一个对象而不是一个数组时,我得到了这个错误。尝试做一个print_r并看看你得到了什么。

情况2:你有这样的关联数组: