在不使用前缀的情况下与另一个表关联


Relate to another table without using prefixes

所以我的任务是创建一个现有网站的移动版本,但它是用一个我没有开始的不同框架构建的。

客户端想在上面使用CakePhp。 所以我使用CakePhp 2.5.7。 我的问题是。 有没有办法在不使用前缀的情况下从现有表中关联另一个表?

为了更清楚,我的控制器上有这个

public function index(){
    $this->loadModel('Bulletin');
    $bulletins = $this->Bulletin->find('all');
}

在我的模型中

class Bulletin extends AppModel{
    var $useTable = 'bulletin';
    var $hasMany = array(
        'BulletinComment' => array(
            'className'   => 'BulletinComment',
            'foreignKey'  => 'bulletinid',
        ),
    );
}

但数据库上的bulletincomment表没有前缀。 并在页面上显示错误

Error: Table bulletincomments for model bulletincomment was not found in datasource default.

我尝试创建这样的模型BulletinComment

class BulletinComment extends AppModel{
    var $useTable = 'bulletincomment';  
}

但无济于事。 我仍然收到错误。 是否可以在不添加前缀的情况下使用任何关系?

假设在

数据库连接中设置了前缀 ( /app/Config/database.php (,如果将其添加到模型中,则可以为一个表覆盖前缀:

public $tablePrefix = '';

或者,您可以删除连接中的前缀,然后为需要它的模型重新添加前缀,具体取决于哪个更快。