CakePHP не загружает модель - PullRequest
       3

CakePHP не загружает модель

3 голосов
/ 13 февраля 2011

Я новичок в разработке cakePhp.Я застрял на следующей проблеме: я сделал несколько моделей, контроллеров и представлений - это прекрасно работает.Проблема в том, что после производства мне нужно создать новую таблицу ( Transactionaltemp таблица и соответствующую модель и контроллер) в БД, которая логически «связана» с другими таблицами, но технически не нуждается в этом - например,,он содержит временную информацию о user_id, time, ip и т. п.Таким образом, другие таблицы не должны быть напрямую связаны с этим.Проблема возникает, когда я пытаюсь (в каком-то другом контроллере, кроме transactionaltemps_controller):

$this->loadModel('Transactionaltemp');

Я получаю ошибку - модель не найдена (это правда, потому что модель отсутствует в кеше).Достаточно интересно, что transactionaltempls_controller находится в кеше (в файле cake_controllers_list).Я попытался выполнить следующие действия для решения проблемы:

  1. очистить кэш
  2. отключить кэш
  3. попытался использовать uses={..} код в контроллере, который я хотел бы использовать mymodels_controller
  4. пробовал использовать init('Transactionaltemp')

безуспешно.Вот соответствующий код: Модель:

<?php 
class Transactionaltemp extends AppModel
{
   var $name = 'Transactionaltemp';
   function beforeSave() {
    return true;
   }
}
?>

Контроллер:

<?php
 class TransactionaltempsController extends AppController
 {
    var $name = 'Transactionaltemps';
    var $scaffold;

 }
 ?>

Буду очень признателен за любую помощь !!!

Ответы [ 3 ]

1 голос
/ 08 мая 2012
App:Import('Model','Transactionaltemp');
$this->Transactionaltemp= new Transactionaltemp;

Надеюсь, это может сработать

0 голосов
/ 25 мая 2011

Попробуйте

App::Import('Model', 'YourModelName');

в вашем контроллере (или там, где вы хотите).

0 голосов
/ 14 февраля 2011

Если вы подключаетесь к имени таблицы с именем, отличным от вашей модели, вы должны указать в нем имя таблицы:

<?php 
class Transactionaltemp extends AppModel
{
   var $uses = 'Transactional';
   var $name = 'Transactionaltemp';
   function beforeSave() {
      return true;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...