Cakephp 3.0 - 异常:SQLSTATE [42S02]:找不到基表或视图

时间:2015-02-20 06:47:33

标签: cakephp

m使用cakephp 3.0和m使用bin / cake烘焙所有视图。但是在烘焙依赖视图时会出现错误。就像之前我使用

为产品烘焙了一样
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

任何人都可以帮我解决这个错误..我实际上没有弄到这里犯了什么错误???

2 个答案:

答案 0 :(得分:2)

使用cakePHP时遵循命名约定,否则它将无法正常工作。

bin/cake bake all products_mix表名错误。当您必须使用复数名称进行查看时。请记住,在cakephp中,所有名称都是Plurals exept 您的模型。

我建议您使用另一个语法专有名称进行查看。比如说product_tagsproduct_attributes。查看是否有多个单词用于查看,然后将最后一个单词复数形式。

在其他情况下,如果您有HABTM(Has And Belongs To Many)关系,您应该将两个单词复数形式。与users_courses类似,此处它连接到用户,课程表,并包含这些表的外键。因此,通过命名约定,HABTM表有两个单词复数。

cakePHP中的前约定,请参阅Link

答案 1 :(得分:0)

根据CakePHP的约定,所有表名都应该是复数而不是单数,所以这是你应该修复的第一件事。 products_mix不合适。