所以我的任务是创建一个现有网站的移动版本,但它是用不同的框架构建的,我没有开始。
客户希望在其上使用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';
}
但无济于事。我仍然得到错误。是否可以在不添加前缀的情况下使用任何关系?
答案 0 :(得分:0)
假设在数据库连接(/app/Config/database.php
)中设置了前缀,如果将其添加到模型中,则可以覆盖一个表:
public $tablePrefix = '';
或者您可以删除连接中的前缀并将其添加回需要它的模型,具体取决于哪个更快。