[amazonjs asin=”479803746X” locale=”JP” title=”詳解CakePHP辞典2.0/2.1/2.2/2.3対応”]
最初に CakePHP の cake bake all を使って Model/View/Controller を一気に作成したところ、
データベースでのCakePHP の複数形にひっかかって負のスパイラルに陥りました。
今後、苦しまないようにメモいたします
C:\workspace\cakePhpBakeSample>.\app\Console\cake bake all Welcome to CakePHP v2.5.9 Console --------------------------------------------------------------- App : app Path: C:\workspace\cakePhpBakeSample\app\ --------------------------------------------------------------- Bake All --------------------------------------------------------------- Possible Models based on your current database: 1. SyohinMaster Enter a number from the list above, type in the name of another model, or 'q' to exit [q] > 1 Error: Table syohin_masters for model SyohinMaster was not found in datasource d efault. #0 C:\workspace\cakePhpBakeSample\lib\Cake\Model\Model.php(3572): Model->setSour ce('syohin_masters') #1 C:\workspace\cakePhpBakeSample\lib\Cake\Model\Model.php(1368): Model->getData Source() #2 C:\workspace\cakePhpBakeSample\lib\Cake\Console\Command\Task\ModelTask.php(52 4): Model->schema(true) #3 C:\workspace\cakePhpBakeSample\lib\Cake\Console\Command\Task\ModelTask.php(82 2): ModelTask->doAssociations(Object(Model)) #4 C:\workspace\cakePhpBakeSample\lib\Cake\Console\Command\BakeShell.php(174): M odelTask->bake(Object(Model), false) #5 C:\workspace\cakePhpBakeSample\lib\Cake\Console\Shell.php(437): BakeShell->al l() #6 C:\workspace\cakePhpBakeSample\lib\Cake\Console\ShellDispatcher.php(209): She ll->runCommand('all', Array) #7 C:\workspace\cakePhpBakeSample\lib\Cake\Console\ShellDispatcher.php(66): Shel lDispatcher->dispatch() #8 C:\workspace\cakePhpBakeSample\app\Console\cake.php(47): ShellDispatcher::run (Array) #9 {main}
既存のテーブル名は”syohin_master” なのに何で最後に勝手にsがつけられてエラーなの?
テーブル名をrename するとエラーが解消できました。
cakePHPでの規約ではないでしょうか?
調査せねば・・・
次回へつづく。
コメント