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