cbl*_*793 38 php runtime-error tostring render-to-string laravel
你在Laravel工作时见过这个可爱的错误吗?
Method Illuminate\View\View::__toString() must not throw an exception
Run Code Online (Sandbox Code Playgroud)
我已经看过了,这令人非常恼火.我发现了抛出此错误的两个原因.我只想帮助人们不要花费数小时的时间.
查看以下答案和情况.:)
Mār*_*dis 67
有一个非常简单的解决方案:不要将View对象强制转换为字符串.
不要:echo View::make('..');或echo view('..');
做:echo View::make('..')->render();或echo view('..')->render();
通过转换视图,它__toString()自动使用方法,不会抛出异常.如果render()手动调用,则会正常处理异常.如果视图中存在错误,则会出现这种情况 - laravel会抛出异常.
这实际上是PHP限制,而不是Laravels.在此处阅读有关此"功能"的更多信息:https://bugs.php.net/bug.php?id = 53648
情况1:尝试在数组中打印出一个值。
答案1:尝试打印出阵列。您确定这是一个数组吗?当它是对象而不是数组时,出现了此错误。尝试做一个print_r,看看会得到什么。
情况2:您具有以下关联数组:
Array
(
[post_id] => 65
[post_text] => Multiple Images!
[created_at] => 2014-10-23 09:16:46
[updated_on] =>
[post_category] => stdClass Object
(
[category_label] => Help Wanted
[category_code] => help_wanted
)
[employee_full_name] => Sam Jones
[employee_pic] => /images/employee-image-placeholder.png
[employee_email] => jon@gmail.com
[post_images] => Array
(
[0] => stdClass Object
(
[image_path] => 9452photo_2.JPG
)
[1] => stdClass Object
(
[image_path] => 8031photo_3.JPG
)
)
)
Run Code Online (Sandbox Code Playgroud)
当您尝试直接在View中访问post_images数组时,它将引发错误。不管。什么。您。做。
答案2:检查所有要调用视图的地方。这里发生的是,我试图在未提供post_images数组的区域中的其他位置访问相同的视图。永远花了一点时间。
我希望这可以帮助其他人。:)我只知道我不断遇到的错误并没有帮助我。