2015-01-15 3 views
2

Поскольку у меня есть два столбца цены в моей таблице (subscription_discount и subscription_price). Мне нужно найти способ найти самую низкую из двух и использовать ее. Проблема заключается в том, что это должно произойти только в том случае, когда подписка_discount ниже абонентской цены, а при подписке - 0,00.CAKEphp Виртуальное поле не работает

Это мой код, чтобы создать виртуальное поле в моей модели:

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)" 
    ); 

Как-то это заканчивается с ошибкой, на мой взгляд:

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '), Abonnement . subscription_discount)) AS Abonnement__end_price FROM `cake' at line 1

Я не понимаю, что происходит здесь неправильно.

ответ

0
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)" 
    ); 

удалить это

+0

ах спасибо. Он работает сейчас. – MobileMister

Смежные вопросы