0

我的视图中有一个错误,然后 Laravel 像这样报告它:

Unhandled Exception
Message:

htmlentities() expects parameter 1 to be string, object given

Location:

/var/www/galltransweb/galltransweb/trunk/source/laravel/html.php on line 34

Stack Trace:

#0 /var/www/galltransweb/galltransweb/trunk/source/laravel/laravel.php(40): Laravel\Error::native(2, 'htmlentities() ...', '/var/www/galltr...', 34)
#1 [internal function]: Laravel\{closure}(2, 'htmlentities() ...', '/var/www/galltr...', 34, Array)
#2 /var/www/galltransweb/galltransweb/trunk/source/laravel/html.php(34): htmlentities(Object(Code), 3, 'UTF-8', false)
#3 /var/www/galltransweb/galltransweb/trunk/source/laravel/form.php(454): Laravel\HTML::entities(Object(Code))
#4 /var/www/galltransweb/galltransweb/trunk/source/laravel/form.php(406): Laravel\Form::option(0, Object(Code), '')
#5 /var/www/galltransweb/galltransweb/trunk/source/bundles/former/src/Former/Fields/Select.php(133): Laravel\Form::select('label_type', Array, '', Array)
#6 /var/www/galltransweb/galltransweb/trunk/source/bundles/former/src/Former/ControlGroup.php(170): Former\Fields\Select->__toString()
#7 /var/www/galltransweb/galltransweb/trunk/source/bundles/former/src/Former/Former.php(196): Former\ControlGroup->wrapField(Object(Former\Fields\Select))
#8 /var/www/galltransweb/galltransweb/trunk/source/laravel/view.php(354) : eval()'d code(45): Former\Former->__toString()
#9 /var/www/galltransweb/galltransweb/trunk/source/laravel/view.php(354): eval()
#10 /var/www/galltransweb/galltransweb/trunk/source/laravel/blade.php(71): Laravel\View->get()
#11 [internal function]: Laravel\{closure}(Object(Laravel\View))
#12 /var/www/galltransweb/galltransweb/trunk/source/laravel/event.php(199): call_user_func_array(Object(Closure), Array)
#13 /var/www/galltransweb/galltransweb/trunk/source/laravel/event.php(138): Laravel\Event::fire('laravel.view.en...', Array, true)
#14 /var/www/galltransweb/galltransweb/trunk/source/laravel/view.php(325): Laravel\Event::until('laravel.view.en...', Array)
#15 /var/www/galltransweb/galltransweb/trunk/source/laravel/view.php(546): Laravel\View->render()
#16 /var/www/galltransweb/galltransweb/trunk/source/laravel/response.php(246): Laravel\View->__toString()
#17 /var/www/galltransweb/galltransweb/trunk/source/laravel/laravel.php(138): Laravel\Response->render()
#18 /var/www/galltransweb/galltransweb/trunk/source/public/index.php(34): require('/var/www/galltr...')
#19 {main}

Unhandled Exception
Message:

Module 'xdebug' already loaded

Location:

Unknown on line 0

但对我来说,我没有从这份报告中得到任何结果,因为它没有向我显示文件以及该文件中导致错误的行。有没有办法显示导致错误发生的文件中的文件和行号?

4

1 回答 1

3

正如 crynobone 所说,它在堆栈跟踪中。不幸的是,对于来自内部核心函数的此类异常错误,它可以告诉您错误在核心中的确切位置,但不会追溯到您在视图中可能犯的错误以提供该行号。

第 2 行显示了调用 htmlentities() 的位置并在第 1 行触发错误处理程序

第 3 行显示了调用 htmlentities() 的 form::option 函数 第 4 行显示了带有实际调用 htmlentities() 的 return 语句的行

所以这告诉您在您调用 Form::select() 的视图中存在问题

查看源代码中的 form::select ,是 $options 数组(Form::select() 的第二个参数)有问题。

问题在于它需要一个字符串但正在获取一个对象,因此请仔细检查 Form::select() 的第二个参数。

于 2013-03-06T06:25:58.673 回答