$frequentFoodLog->value = $frequentFoodLog->value - 1;
当我用$frequentFoodLog->value = 1
执行上面的代码时,它会自动将0转换为null。因此,当它在视图中输出时,它显示为null而不是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保存到数据库。
我找到了一个&#34;解决方案&#34;,通过在返回之前转换该值。但我更喜欢更好的一个:
print json_encode(
[
'ffid' => $ffid,
'action' => $action,
'value' => is_null($frequentFoodLog->value) ? '0' : $frequentFoodLog->value,
'carbs' => $carbs
]
);
答案 0 :(得分:0)
在附加值后测试它:
if (is_null($frequentFoodLog->value)) {
$frequentFoodLog->value = 0;
}
答案 1 :(得分:0)
对于模板中的php代码,请使用{~~}代替{{}}。
<dependency>
<groupId>a.group</groupId>
<artifactId>a.artifact</artifactId>
<version>a.version</version>
<exclusions>
<!-- STAX comes with Java 1.6 -->
<exclusion>
<artifactId>stax-api</artifactId>
<groupId>javax.xml.stream</groupId>
</exclusion>
<exclusion>
<artifactId>stax-api</artifactId>
<groupId>stax</groupId>
</exclusion>
</exclusions>
<dependency>
<dependency>
<groupId>javax.xml.stream</groupId>
<artifactId>stax-api</artifactId>
<version>1.0-2</version>
</dependency>