所以我的任务是创建一个现有网站的移动版本,但它是用一个我没有开始的不同框架构建的。
客户端想在上面使用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 = '';
或者,您可以删除连接中的前缀,然后为需要它的模型重新添加前缀,具体取决于哪个更快。