Cakephp - 如何 - 将数据库模型链接到非数据库模型

时间:2014-07-04 10:19:10

标签: cakephp

如何将数据库模型链接到没有数据库的模型?

从数据库模型中获取一些代码:

class Vhost extends AppModel {
    public $primaryKey = 'domain';
    public $hasOne = array('user' => array('className' => 'User'));
     ...
 }

并且没有数据库模型的代码:

class User extends AppModel {
    public $useTable = false;
}

我尝试它的原因是因为我的用户模型应该从LDAP获取数据,而我的Vhost模型是SQLite驱动的。

1 个答案:

答案 0 :(得分:0)

Cake不支持开箱即用的东西。定义诸如$ hasOne,$ belongsTo,$ hasMany等关联的目的是使Cake可以自动组合一个SQL语句,该语句连接两个记录并在单个查询中将它们同时提取到一个数据库。

如果您不能自己编写一个可以将两个记录连接在一起的SQL语句,那么Cake肯定无法自动完成。

如果你想这样做,你需要忘记Cake的关联(hasMany,belongsTo,hasOne等)并自己手动编码。我没有使用LDAP的经验,但我想你将不得不从LDAP中获取用户,并获取Vhost,作为两个单独的步骤,然后手动将两位数据拼凑在一起。