Я хочу вызвать мою хранимую процедуру, которая принимает только один целочисленный входной параметр и возвращает несколько строк в рамках 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);
}
Теперь, может кто-нибудь подскажет, как отобразить содержание запроса в «View.ctp» ??
Я надеюсь, что моя модель верна.
заранее спасибо
Хранимая процедура MySQL обычно не возвращает некоторый результат.
Вам нужно разработать FUNCTION вместо того, чтобы возвращать какое-то значение.
Прочитайте больше Вот.
Существуют различные методы для вызова хранимых процедур в cakephp. но лучший способ — выполнить его как запрос, а не запечь как модель,
потому что до моего поиска нет способа построить или запечь сложные хранимые процедуры.
Итак, так я решил свою проблему:
Мой код контроллера:
public function Procdata($testId) {
$result=$this->Systemstate->sProcedure($testId);
$this->set('data',$result);
}
Мой Дисплей Раздел View.CTP
print_r($data);