Blade 的 OR 语句总是回显默认值
Blade's OR statement always echoing default
我有一个代码在 PHP 中运行良好 5. 但是我更新了我的系统,现在我正在使用 PHP 7. 这个问题发生在每个使用 or
语句和变量不是直接从对象中读取的。在这种情况下,Blade 总是回显默认值。
例如:
{{$obj->customer->state->name or '-'}}
结果 PHP 5:
Santa Catarina
结果 PHP 7:
-
我正在使用 Laravel 5.1 并且数据库中存储的所有数据对于两个结果都是相同的。有什么想法吗?
试试这个:
{{$obj->customer->state->name ?? '-'}}
这是 PHP 7
中的新功能
http://php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op
你应该试试这个
{{isset($obj->customer->state->name) ? $obj->customer->state->name : '-'}}
我有一个代码在 PHP 中运行良好 5. 但是我更新了我的系统,现在我正在使用 PHP 7. 这个问题发生在每个使用 or
语句和变量不是直接从对象中读取的。在这种情况下,Blade 总是回显默认值。
例如:
{{$obj->customer->state->name or '-'}}
结果 PHP 5:
Santa Catarina
结果 PHP 7:
-
我正在使用 Laravel 5.1 并且数据库中存储的所有数据对于两个结果都是相同的。有什么想法吗?
试试这个:
{{$obj->customer->state->name ?? '-'}}
这是 PHP 7
中的新功能http://php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op
你应该试试这个
{{isset($obj->customer->state->name) ? $obj->customer->state->name : '-'}}