mysql> CREATE FUNCTION myFunction(in_rep_id INT)
-> RETURNS INT
-> READS SQL DATA
-> BEGIN
-> DECLARE customer_count INT;
->
-> SELECT COUNT(*)
-> INTO customer_count
-> FROM employee
-> WHERE id=in_rep_id;
->
-> RETURN(customer_count);
->
-> END$$
mysql> SELECT id,myFunction(id)
-> FROM employee
-> WHERE myFunction(id)>0
-> ORDER BY myFunction(id) desc;
如何使用CakePHP复制此内容?我是否需要将函数定义为CakePHP模型的一部分?或者有没有办法从CakePHP中执行CREATE FUNCTION语法?
任何帮助都将不胜感激。
答案 0 :(得分:2)
CREATE FUNCTION
语法实际上是DDL(数据定义语言),与其他DDL语法(例如CREATE TABLE
)一样,Cake不支持。我怀疑,你可以通过$this->Model->query( 'your sql here' )
执行一个功能,但我从来不需要尝试。
我应该补充一点,你可以通过Model::query()
方法真正运行任意SQL,但是我假设这是你想要的东西,就像你想要一张桌子之前一样需要的。