我目前在表单中使用以下代码:
{{ $errors->has('email') ? ' has-error' : '' }}
我尝试将其更改为:
{{ $errors->has('email') ?: ' has-error' }}
但现在即使没有错误,也会添加该类。为什么会这样?好奇。
答案 0 :(得分:1)
这就是null coalesce operator的工作原理。例如,这将返回5:
false ?: 5
当您使用将返回has()
或true
的{{1}}方法时,null coalesce运算符将始终返回false
。
所以,只需使用三元运算符。
答案 1 :(得分:1)
似乎空合并的工作方式与三元不同,即使变量为empty ( '' )
,即假空值合并将变量视为true
,但速记三元运算符不会。这是需要考虑的事情。
有关null coalescing vs ternary的更多信息。