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

クリノボーンが言うように、それはスタックトレースにあります。残念ながら、内部コア関数から発生するこのような例外エラーでは、エラーがコアのどこで発生したかを正確に知ることができますが、その行番号を与えるためにビューで行った可能性のある間違いを追跡することはできません。

行 2 は、htmlentities() が呼び出された場所を示し、行 1 でエラー ハンドラーをトリガーします。

3 行目は、htmlentities() を呼び出す form::option 関数を示しています。4 行目は、実際に htmlentities() の呼び出しを行っている return ステートメントを含む行を示しています。

これは、Form::select() を呼び出したビューに問題があることを示しています。

ソース コードの form::select を見ると、問題があるのは $options 配列 (Form::select() の 2 番目の引数) です。

問題は、文字列を期待しているがオブジェクトを取得しているため、Form::select() の 2 番目の引数を再確認してください。

于 2013-03-06T06:25:58.673 に答える