Я пытаюсь добавить оператор запроса SQL SQL ИЛИ в мой проект CakePHP, но обратите внимание, что я получаю И вместо ИЛИ.
Я получаю эту строку, когда использую SQL (), и OR не включается, тогда как ожидается OR
SELECT Blacklist.id AS `Blacklist__id`,
Blacklist.provider AS `Blacklist__provider`,
Blacklist.receiver AS `Blacklist__receiver`,
Blacklist.platform AS `Blacklist__platform`,
Blacklist.brokers AS `Blacklist__brokers`
FROM blacklist Blacklist
WHERE (brokers = :c0 AND provider = :c1 AND platform=FXCMMetaTrader4)
Я попробовал приведенный ниже код, но вместо OR я получаюА ТАКЖЕ.
Почему это так работает и как мне этого избежать?
//fill blacklist data
$blacklistQuery = $blacklistModel->find()
->select(['id', 'provider', 'receiver', 'platform', 'brokers'])
->order(array('created' => 'desc'))
->where(function (QueryExp $exp, Query $q) use ($accountBroker, $accountLogin,$platform) {
$orBrokerCond = $exp->or_(['brokers' => $accountBroker]);
$orProviderCond = $exp->or_(['provider' => $accountLogin]);
$orPlatformCond = $exp->or_('platform='. $platform);
return $exp->add($orBrokerCond)
->add($orProviderCond)
->add($orPlatformCond);
});
// ->where("provider = $accountLogin");
echo $blacklistQuery->sql();