我想在CakePHP 3.X中执行以下select语句
SELECT
...
(CASE WHEN declined_by = 1 THEN Customer WHEN declined_by = 2 THEN Admin WHEN declined_by = 3 THEN Both ELSE None END) AS `Declined_by`
...
但我不想使用自定义查询。我需要包含以下内容的代码:
$query->newExpr()->addCase()
和` - > eq()函数。
答案 0 :(得分:0)
好的! 最后,我得到了答案。 谢谢大家。 这是我最后的询问。
$query=$OrdersModel->find('all');
$decline_member = $query->newExpr()
->addCase([$query->newExpr()->eq('declined_by','1'),$query->newExpr()->eq('declined_by','2'),
$query->newExpr()->eq('declined_by','3'),],['Customer','Admin','Both','None'],['string','string','string','string']);
答案 1 :(得分:-2)
您可以在cakephp中运行原始mysql查询
use Cake\Datasource\ConnectionManager;
$connection = ConnectionManager::get('default');
$results = $connection->execute('YOUR QUERY')->fetchAll('assoc');