2016-08-02 5 views
0

Я хочу вызвать мою хранимую процедуру, которая принимает только один целочисленный входной параметр и возвращает несколько строк в фреймворке cakephp.Вызов хранимой процедуры MySQL и отображение ее данных в 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" ??

Надеюсь, моя модель верна.

Заранее благодарен

+0

Почему вы пытаетесь использовать хранимую процедуру? Почему бы просто не генерировать запрос с использованием фреймворка? –

+0

, потому что его сложный запрос, включая максимальные функции и т. Д. И после всего, что он возвращает, возвращается в виде выбранного запроса из хранимой процедуры –

+0

@Nomanuddin, пожалуйста, только пометьте вопросы соответствующей версией CakePHP, которую вы используете. Используете ли вы CakePHP 1 или 2? – drmonkeyninja

ответ

0

Существуют различные способы вызова хранимых процедур в cakephp. но лучший способ - выполнить его как запрос, а не выпекать его как модель, , потому что до моего поиска нет способа построить или испечь сложные хранимые процедуры.

Таким образом, этот путь я решил мою проблему:

Мой код контроллера является:

public function Procdata($testId) { 
    $result=$this->Systemstate->sProcedure($testId); 
    $this->set('data',$result); 
} 

My Display Раздел View.CTP

print_r($data); 
1

Хранимая процедура MySQL обычно не возвращает результат. Вместо этого вам нужно разработать FUNCTION, чтобы вернуть некоторое значение. Подробнее here.

+0

ОК. Если я использую функцию, любое предложение, как вызвать и отображать контент в cakephp? –

 Смежные вопросы

  • Нет связанных вопросов^_^