3

私がsomething.blade.phpで使用したコードは

{{ Form::text('fullname', isset(Input::old('fullname'))?Input::old('fullname'):$hello[1] }}

しかし、なぜ次のエラーが返されるのかわかりません

書き込みコンテキストでは関数の戻り値を使用できません

isset、trim、empty を試してみましたが、何も機能しませんでした。どうしたの?

4

4 に答える 4

7

あなたは単にこれを使うことができます

{{ Form::text('fullname', Input::old('fullname', $hello[1] ?: '' ) }}

Input::old()オプションで、デフォルト値を取ります。古い値が利用可能な場合、デフォルト値以外の古い値が使用されます。

于 2013-09-17T01:43:09.950 に答える
4

issetそのように奇妙です。関数が値を返すかどうかをテストするためではなく、変数が実際に設定されているかどうかをテストするためではないため、関数を使用することはできません。

最も簡単な解決策は次のとおりです。

if(Input::old('fullname'))

nullフルネームが設定されていない場合に返されます。

または:

$old = Input::old();
isset($old['fullname']) ...

(ビューで関数呼び出しを使用する代わりに、コントローラーからビューに変数を渡すことをお勧めします (もちろんいくつかの例外があります)

于 2013-09-17T01:37:57.837 に答える
3

括弧を閉じていません:

{{ Form::text('fullname', Input::old('fullname') ? Input::old('fullname') : $hello[1]) }}

また、入力は null (未定義ではない) を返します。これも変更しました。

于 2013-09-17T01:31:54.293 に答える