Laravelblade"old input or default variable"?
Laravel blade "old input or default variable"?
我想在输入值中显示旧的输入。如果没有旧输入,则显示其他变量:
value="{{ old('salary_' . $employee->id) or 'Default' }}"
但是当没有旧输入时,它给我 1 而不是默认值!
我认为问题与串联有关,但我不知道如何解决!?
or
是 PHP 中的比较运算符,因此您的代码计算结果为 true
,或 1。您想要的是三元 if
语句。
如前所述,or
可以在 blade 中用作 shorthand 三元 if 语句。
但是您可以(并且应该)将默认值作为第二个参数传递给函数,如下所示:
value="{{ old('salary_' . $employee->id, 'Default') }}"
如 Laravel 文档所述:"If you are displaying old input within a Blade template, it is more convenient to use the old helper:"。
因此,如果您需要 add/edit 数据表单(当您需要使用编辑表单在编辑模式下添加和编辑时,您需要使用从模型(数据库)加载的数据)来显示模型中的值(通过控制器),您可以使用以下内容:
name="some_value" value="{{ $some_value or old('some_value', $the_value) }}"
视图数组中的 "some_value_from_model" 变量名称在哪里。
在这种情况下,它应该首先使用 $some_value 来设置 "value",如果没有,它将尝试使用旧的(来自名称 "some_value" 的请求的值)和如果不是旧的,则应使用 ''。
感谢 WoodyDRN 的评论。
试试这个:
<textarea name="alamat" id="" class="form-control" placeholder="Alamat">{{ old('alamat').@$biodata->alamat }}</textarea>
您可以使用代码(PHP 7):
{{ old('field_name') ?? $model->field_name ?? 'default' }}
对于复选框选中的属性,使用代码(如果默认值为 false):
{{ (old() ? old('field_name', false) : $model->field_name ?? false) ? 'checked' : '' }}
构造{{ $something or 'default'}}
仅适用于变量
您可以使用:
old($key, $defaultValue)
我想在输入值中显示旧的输入。如果没有旧输入,则显示其他变量:
value="{{ old('salary_' . $employee->id) or 'Default' }}"
但是当没有旧输入时,它给我 1 而不是默认值!
我认为问题与串联有关,但我不知道如何解决!?
or
是 PHP 中的比较运算符,因此您的代码计算结果为 true
,或 1。您想要的是三元 if
语句。
如前所述,or
可以在 blade 中用作 shorthand 三元 if 语句。
但是您可以(并且应该)将默认值作为第二个参数传递给函数,如下所示:
value="{{ old('salary_' . $employee->id, 'Default') }}"
如 Laravel 文档所述:"If you are displaying old input within a Blade template, it is more convenient to use the old helper:"。 因此,如果您需要 add/edit 数据表单(当您需要使用编辑表单在编辑模式下添加和编辑时,您需要使用从模型(数据库)加载的数据)来显示模型中的值(通过控制器),您可以使用以下内容:
name="some_value" value="{{ $some_value or old('some_value', $the_value) }}"
视图数组中的 "some_value_from_model" 变量名称在哪里。 在这种情况下,它应该首先使用 $some_value 来设置 "value",如果没有,它将尝试使用旧的(来自名称 "some_value" 的请求的值)和如果不是旧的,则应使用 ''。
感谢 WoodyDRN 的评论。
试试这个:
<textarea name="alamat" id="" class="form-control" placeholder="Alamat">{{ old('alamat').@$biodata->alamat }}</textarea>
您可以使用代码(PHP 7):
{{ old('field_name') ?? $model->field_name ?? 'default' }}
对于复选框选中的属性,使用代码(如果默认值为 false):
{{ (old() ? old('field_name', false) : $model->field_name ?? false) ? 'checked' : '' }}
构造{{ $something or 'default'}}
仅适用于变量
您可以使用:
old($key, $defaultValue)