因为我的表中有两个price列(subscription-discount和subscription-price)。我需要找到一种方法,找到两者中最低的一个,然后使用它。问题是,只有当订阅折扣低于订阅价格且订阅折扣不为0.00时,才会发生这种情况。
这是我在模型中创建虚拟字段的代码:
public $virtualFields = array(
'end_price' => "IF(Abonnement.subscription_discount IS NOT NULL OR Abonnement.subscription_discount < Abonnement.subscription_price, Abonnement.subscription_price), Abonnement.subscription_discount)"
);
不知何故,我认为这是一个错误:
错误:SQLSTATE[42000]:语法错误或访问冲突:1064
SQL语法中有错误;请检查与
您的MySQL服务器版本的正确语法使用near'),
Abonnement
subscription_discount
))从`1号线的蛋糕
我不明白这里出了什么问题。
最佳答案
public $virtualFields = array(
'end_price' => "IF(Abonnement.subscription_discount IS NOT NULL OR Abonnement.subscription_discount < Abonnement.subscription_price, Abonnement.subscription_price>>>**)**<<<, Abonnement.subscription_discount)"
);
移除它