Как реализовать модель для пакета Oracle в CakePHP? - PullRequest
0 голосов
/ 31 марта 2011

У меня есть пакет Oracle, к которому мне нужно получить доступ в CakePHP. Я пытаюсь определить лучший способ реализовать код для вызова этой функции. Мне нужно передать переменные из пользовательского интерфейса в вызываемую процедуру. Я хочу иметь возможность использовать модель для проверки поля перед отправкой в ​​пакет. Это очень специфический вызов процедуры:

begin SCHEMA.package.function_name(vars); end;

В то же время в пакете нет стандартных $ this-> save () или $ this-> find ().

У кого-нибудь есть опыт работы с CakePHP? Или какие-либо предложения для реализации? Должен ли я просто поместить его в модель?

1 Ответ

0 голосов
/ 23 апреля 2011

Что ж, после отсутствия ответа я немного покопался на этой неделе, и я думаю, что у меня есть отличное решение для этого.Я на самом деле думал, что это сложнее, чем на самом деле.

Настройте модель так, чтобы она указывала на пакет, который вы создаете.Внутри пакета может быть несколько функций.Таким образом, модель будет содержать все функции пакета, необходимые для вашего приложения.

Вот как выглядит моя модель:

<?php
class {PACKAGENAME} extends AppModel {
   var $name = {PACKAGENAME};
   var $useTable = false;

   function {PACKAGE_METHOD}() {
      return $this->query('begin SCHEMA.PACKAGE.FUNCTION(); end;');
   }

}

Замените {PACKAGENAME} именем пакета Oracle.Остальное должно быть самоочевидным.Конечно, вы также можете настроить функцию для обработки переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...