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
任何人都可以帮我解决这个错误..我实际上没有弄到这里犯了什么错误???
答案 0 :(得分:2)
使用cakePHP时遵循命名约定,否则它将无法正常工作。
bin/cake bake all products_mix
表名错误。当您必须使用复数名称进行查看时。请记住,在cakephp中,所有名称都是Plurals exept 您的模型。
我建议您使用另一个语法专有名称进行查看。比如说product_tags
,product_attributes
。查看是否有多个单词用于查看,然后将最后一个单词复数形式。
在其他情况下,如果您有HABTM(Has And Belongs To Many)关系,您应该将两个单词复数形式。与users_courses
类似,此处它连接到用户,课程表,并包含这些表的外键。因此,通过命名约定,HABTM表有两个单词复数。
cakePHP中的前约定,请参阅Link。
答案 1 :(得分:0)
根据CakePHP的约定,所有表名都应该是复数而不是单数,所以这是你应该修复的第一件事。 products_mix不合适。