2014-12-16 3 views
1

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

Клиент хочет использовать CakePhp. поэтому я использую CakePhp 2.5.7. Мой вопрос. Есть ли способ связать другую таблицу с существующей таблицей без использования префиксов?

Чтобы сделать его более ясным, у меня есть это на моем контроллере

public function index(){ 
    $this->loadModel('Bulletin'); 
    $bulletins = $this->Bulletin->find('all'); 
} 

в моей модели

class Bulletin extends AppModel{ 

    var $useTable = 'bulletin'; 

    var $hasMany = array(
     'BulletinComment' => array(
      'className' => 'BulletinComment', 
      'foreignKey' => 'bulletinid', 
     ), 
    ); 
} 

но bulletincomment таблицы в базе данных не имеет префикса. и показать ошибку на странице

Error: Table bulletincomments for model bulletincomment was not found in datasource default. 

Я попытался создать BulletinComment модель как этот

class BulletinComment extends AppModel{ 

    var $useTable = 'bulletincomment'; 

} 

, но безрезультатно. Я все еще получаю ошибку. Можно ли использовать любое отношение без добавления префиксов?

+0

очистить кеш после создания модели – cornelb

ответ

0

Предполагая, что префиксы установки в соединении с базой данных (/app/Config/database.php), вы можете переопределить его для одной таблицы, если добавить это к модели:

public $tablePrefix = ''; 

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

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