Cakephp “错误”;缺少数据库表“;使用HABTM时

Cakephp “错误”;缺少数据库表“;使用HABTM时,cakephp,has-and-belongs-to-many,Cakephp,Has And Belongs To Many,我对Cakephp中的HABTM有问题 有两种模式:用户(音乐家)和流派。 有三个表:用户、流派、流派用户(id(primary)、流派id、用户id) 写入用户: <?php public $hasAndBelongsToMany = array( 'Genre' => array( 'className' => 'Genre', 'joinTable' => 'genres_users',

我对Cakephp中的HABTM有问题

有两种模式:用户(音乐家)和流派。 有三个表:用户、流派、流派用户(id(primary)、流派id、用户id)

写入用户:

<?php
public $hasAndBelongsToMany = array(
        'Genre' => array(
            'className' => 'Genre',
            'joinTable' => 'genres_users',
            'foreignKey' => 'user_id',
            'associationForeignKey' => 'genre_id',
        ),
    );
类型模型:

class Genre extends AppModel {

    public $primaryKey = 'id';

}
答案很简单

AppModel

它是:

public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct();
必须是:

public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct($id, $table ,$ds);

可能是一个愚蠢的问题,它报告缺少哪个表?@Sam Delaney,找不到模型AppModel的数据库表app_models。如果删除habtm块,此错误将消失。我觉得这像是配置错误
AppModel
是所有应用程序模型要继承的父类,您不需要直接与之交互。我猜你不会,但看起来框架坚持。您的HABTM配置看起来与文档一致,唯一能够帮助我们为您提供解决方案的方法是发布您的
用户
流派
模型类。这样我们就可以检查其他地方是否有配置错误的地方。至于
hasOne
块,删除它时错误不会消失。您的模型看起来很好。您可以尝试减少HABTM的配置,以迫使其返回默认设置。抓着救命稻草,你用什么方法让你的模型产生这个错误?
public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct($id, $table ,$ds);