我想调用我的存储过程,它只接受一个整数输入参数并在cakephp框架中返回多行。
存储过程:
PROCEDURE `Salary`(IN sysid int )
BEGIN
SELECT name, lastName, Salary, Month From SalaryData
where Userid = sysid;
END
Model.PHP:
<?php
class SalaryModel extends AppModel
{
public function sProcedure($testId)
{
$result=$this->query("CALL Salary($testId);");
return $result;
}
}?>
我的控制器代码是:
public function Procdata($testId) {
$result=$this->Systemstate->sProcedure($testId);
}
现在,任何人都可以建议我如何在&#34; view.ctp&#34; ??
中显示查询内容我希望我的模型是正确的。
提前致谢
答案 0 :(得分:1)
MySQL存储过程通常不会返回一些结果。 您需要开发FUNCTION来返回一些值。 阅读更多here。
答案 1 :(得分:0)
在cakephp中调用存储过程有多种方法。但最好的方法是将其作为查询执行,而不是将其作为模型烘焙, 因为我的搜索无法构建或烘焙复杂的存储过程。
所以,这样我解决了我的问题:
我的控制器代码是:
public function Procdata($testId) {
$result=$this->Systemstate->sProcedure($testId);
$this->set('data',$result);
}
我的显示部分View.CTP
print_r($data);