将Laravel旧帮助程序与或结合使用

时间:2019-07-04 08:29:33

标签: laravel laravel-blade helper isset or-operator

说我想实现的是这样:

@if(isset($responseValue))
    {{ old("name", $responseValue) }}
@else
    {{ old("name"), "" }}
@endif

基本上是说,如果设置了$ responseValue,那么我希望表单输入具有默认值-就像在表单编辑期间从现有值读取一样-并在用户输入新值并提交时更新为新的“名称”值失败,它被闪回。否则,如果未设置$ responseValue,则无需将$ responseValue读入表单输入。

我的问题是能否获得更有效的等效方法:

{{ old("name", $responseValue or "") }}

还是??

{{ old("name", $responseValue) or "" }}

我都尝试过,但都没有用。我想知道为什么在语法上,第一个示例$ responseValue或“”不会在old(“ name”,$ responseValue或“”)之前首先被评估。我也尝试放在方括号中($ responseValue或“”)。

2 个答案:

答案 0 :(得分:0)

我使用{{ old("name", $responseValue) or "" }}并认为还可以。 如果您需要确定的方法。让我们尝试下面的代码

$oldValue = !isset($responseValue) ? old('name', '') : $responseValue;

答案 1 :(得分:0)

旧助手使用第二个参数作为后备。

old("name", $responseValue)

如果未设置“名称”,则将输出$ responsevalue