如何停止无脂肪PHP将0转换为空?
问题描述:
$frequentFoodLog->value = $frequentFoodLog->value - 1;
当我执行上面的代码$frequentFoodLog->value = 1
它会自动将0转换为空值。因此,当它在视图输出它显示为空,而不是0如何停止无脂肪PHP将0转换为空?
我曾尝试:
$frequentFoodLog->value = (int) $frequentFoodLog->value - 1;
而且,在视图中:
{{ is_null(@frequentFoodLog->value) ? '0' : @frequentFoodLog->value}}
和:
<check if="{{ is_null(@logValue) }}">
<set logValue="0"/>
</check>
没有运气。
任何想法如何解决这个问题?模型上的属性设置为int:
@property int value
并以INT(11)形式存储在MySql数据库中。
除了在视图不当显示(和我的调试器)它仍然充当0时我对其执行关节炎以及保存到数据库中为0
我已经发现了一个“溶液”,由在返回之前转换该值。但我宁愿一个更好的:你附加价值之后
print json_encode(
[
'ffid' => $ffid,
'action' => $action,
'value' => is_null($frequentFoodLog->value) ? '0' : $frequentFoodLog->value,
'carbs' => $carbs
]
);
答
的PHP代码模板中使用{??},而不是{{}}。
{{ @array.key }}
{~ echo $array['key'] ~}
减法运算不会转换成任何东西在PHP空:它会导致整数或浮点数值...的东西在其他地方可能是mdifying值 –
这就是我开始思考。但奇怪的是,当页面第一次加载时它显示为0,所以它只在更新值时将其更改为空,而不是从数据库中第一次获取它。 – jrquick
是数据库表中配置为NULLable的db字段? – ikkez