Я новичок в CakePHP и у меня проблема.Я создал 2 таблицы в mysql. Отношение, которое я пытаюсь создать, состоит в том, что «category_products» имеет много «products».
CREATE TABLE category_products (
id int NOT NULL PRIMARY KEY,
name varchar(30) NOT NULL
) ENGINE=InnoDB;
CREATE TABLE products (
id int NOT NULL PRIMARY KEY,
name varchar(30) NOT NULL,
category_product_id int NOT NULL,
FOREIGN KEY (category_product_id) REFERENCES category_products(id)
) ENGINE=InnoDB;
Когда я пеку «category_products», все хорошо, но когда я пеку «products'в консоли, я получаю это:
=============================================================
Possible Models based on your current database:
1. CategoryProduct
2. Product
Enter a number from the list above,type in the name of another model, or 'q' to exit
[q] > 2
Baking model class for Product...
Creating file /opt/lampp/htdocs/caketest/app/models/product.php
Wrote `/opt/lampp/htdocs/caketest/app/models/product.php`
Product Model was baked.
SimpleTest is not installed. Do you want to bake unit test files anyway? (y/n) [y] > n
**Error: Missing database table 'categories' for model 'Category'**
============================================================
Cakephp **doesn't create the view** and when i open the **model** for product.php and i see this at then end.
var $belongsTo = array(
'CategoryProduct' => array(
'className' => 'CategoryProduct',
'foreignKey' => 'category_product_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
var $hasAndBelongsToMany = array(
'Category' => array(
'className' => 'Category',
'joinTable' => 'category_products',
'foreignKey' => 'product_id',
'associationForeignKey' => 'category_id',
'unique' => true,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
Мой вопрос, что я делаю неправильно ???очевидно, CakePHP думает, что я пытаюсь создать отношения HABTM.Я использую CakePHP 1.3.7
, пожалуйста, помогите мне.Спасибо!