我使用 cakephp 3.0 并使用 bin/cake Bakery all 来烘焙所有 View 。但是我在烘焙依赖 View 时遇到错误..就像之前我使用
烘焙产品 View 一样bin/cake bake all products
但是当我使用相同的
bin/cake bake all products_mix
我收到以下错误
Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table
'cakephp3_s.products_mix' doesn't exist in
[/home/shital/public_html/cakephp3/myCakeApp/vendor/cakephp/cakephp/src/Database/Schema/Collection.php,
line 130] 2015-02-20 06:35:57 Error: [Cake\Database\Exception]
SQLSTATE[42S02]: Base table or view not found: 1146 Table
'cakephp3_s.products_mix' doesn't exist
任何人都可以帮我解决这个错误吗?我实际上没有明白我在这里犯了什么错误???
最佳答案
当您使用 cakePHP 时,请遵循命名约定,否则它将无法工作。
bin/cake Bakery all products_mix
是错误的表名。因为您必须使用复数名称来查看。请记住,在 cakephp 中,所有名称都是复数除了您的型号。
我建议您使用另一个语法专有名称来查看。就像说 product_tags
, product_attributes
。看看是否有多个单词可供查看,然后将最后一个单词设为复数。
在其他情况下,如果您有 HABTM(Has And Belongs To Many)关系,则应将这两个词设为复数。与users_courses
一样,这里它连接到users、courses表,并包含这些表的外键。因此,根据命名约定,HABTM 表的两个单词均采用复数形式。
cakePHP中的Fore约定,引用Link .
关于Cakephp 3.0 - 异常 : SQLSTATE[42S02]: Base table or view not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28623118/