Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔叶片问题_Php_Laravel_Laravel Blade - Fatal编程技术网

Php 拉威尔叶片问题

Php 拉威尔叶片问题,php,laravel,laravel-blade,Php,Laravel,Laravel Blade,我正在将laravel网站从5.6升级到5.8。我有一些表单,如果变量可用,它会将输入值设置为某个值,否则它会将其留空,如下所示。这在5.6上运行得很好,但是当我尝试使用5.8时,它的每一个实例的值都是1。即使我放了像或“Joe”这样的东西,结果还是放了1。如果我删除或“”,它将正常工作,并显示为$data->name发送的内容 {{ $data->name or '' }} 只是好奇是否有人见过这种行为,而我却没有。如果我在控制器或刀片模板中添加$数据,则数据与预期一致,而不仅仅是满

我正在将laravel网站从5.6升级到5.8。我有一些表单,如果变量可用,它会将输入值设置为某个值,否则它会将其留空,如下所示。这在5.6上运行得很好,但是当我尝试使用5.8时,它的每一个实例的值都是1。即使我放了像或“Joe”这样的东西,结果还是放了1。如果我删除或“”,它将正常工作,并显示为$data->name发送的内容

{{ $data->name or '' }} 
只是好奇是否有人见过这种行为,而我却没有。如果我在控制器或刀片模板中添加$数据,则数据与预期一致,而不仅仅是满1


谢谢

如果
$data->name
为真,则结果为真,如果
$data->name
为假,则结果为假,如果
$data->name
为假,则返回
true
false
。如果你的代码在旧版本上运行,那就很奇怪了

您应该使用
?:
(三元运算符)或
??
(空合并运算符)


请参见

Laravel
中的详细信息,或将Laravel 5.7中的
运算符更改为??

为了支持PHP的内置功能,删除了Blade“or”操作符??“null coalesce”运算符,具有相同的用途和功能


所以
{{$data->name或''}}
现在是
{{{$data->name???'}

不知道blade,但是如果它是纯PHP,那么我建议您使用
??
操作符:
echo$data->name??”
,所以也许
{{{$data->name???''}}
会起作用?@AlonEitan似乎就是这样。谢谢奇怪的是,旧的方法并没有像文档中为blade所用的那样起作用,但这同样好。