我在something.blade.php中使用的代码是
{{ Form::text('fullname', isset(Input::old('fullname'))?Input::old('fullname'):$hello[1] }}
但我不确定为什么它会返回以下错误
在写上下文中不能使用函数返回值
尝试使用isset,trim,empty但没有任何方法可行。 问题是什么?
答案 0 :(得分:7)
你可以简单地使用这个
{{ Form::text('fullname', Input::old('fullname', $hello[1] ?: '' ) }}
Input::old()
可选择使用默认值。如果旧值可用,那么旧值将用于其他deafult值。
答案 1 :(得分:4)
isset
很奇怪。您不能在其中使用函数,因为它不用于测试函数是否返回值,而是实际设置了变量。
最简单的解决方案是:
if(Input::old('fullname'))
如果未设置fullname,则返回null
。
或者:
$old = Input::old();
isset($old['fullname']) ...
(我建议从控制器将变量传入您的视图,而不是在视图中使用函数调用(当然有一些例外)
答案 2 :(得分:3)
您尚未关闭括号:
{{ Form::text('fullname', Input::old('fullname') ? Input::old('fullname') : $hello[1]) }}
此外,输入将返回null(未定义),我也改变了它。
答案 3 :(得分:1)
您可以将第二个参数添加为默认值,也可以对其附加条件。
示例:
old('field_name', 'default)
或old('field_name', $user ? $user->field_name : '' )