CakePHP имеет неправильное название модели - PullRequest
7 голосов
/ 28 марта 2011

Я сейчас пробую CakePHP и не могу заставить свое приложение работать, потому что CakePHP «думает», что моя модель называется «Tach», хотя на самом деле это «Tache».

Почему так?

Мой контроллер определяется как: приложение / контроллеры / taches_controller.php

class TachesController extends AppController {

function index() {

    $allTaches = $this->Tache->find('all');

    $this->set('taches', $allTaches);

}

}

А вот и моя модель: приложение / модели / tache.php

class Tache extends AppModel {

var $useTable = 'taches';

}

Я получаю ошибку, если я использую 'Tache' в моем контроллере:

        $allTaches = $this->Tache->find('all');

Но если я использую 'Tach', я не получаю ошибку:

        $allTaches = $this->Tach->find('all');

Почему я не могу использовать название модели 'Tache'? Я делаю что-то неправильно ? Кстати я на php 5.3 и моя версия CakePHP 1.3.8

Спасибо!

Alex

Ответы [ 2 ]

11 голосов
/ 28 марта 2011

В правилах перегиба CakePHP по умолчанию считается, что Taches является множественной формой Tach.

Вам понадобится использовать класс Inflector для добавления пользовательского перегиба.

См. Следующее:

Чтобы подвести итог, вам нужно добавить что-то вроде следующего в файл app / config / bootstrap.php:

Inflector::rules('plural', array('irregular' => array('tache' => 'taches')));
0 голосов
/ 19 апреля 2018

Вы можете установить $ использования с именем модели в TachesController:

class TachesController extends AppController {

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