如何将数据库模型链接到没有数据库的模型?
从数据库模型中获取一些代码:
class Vhost extends AppModel {
public $primaryKey = 'domain';
public $hasOne = array('user' => array('className' => 'User'));
...
}
并且没有数据库模型的代码:
class User extends AppModel {
public $useTable = false;
}
我尝试它的原因是因为我的用户模型应该从LDAP获取数据,而我的Vhost模型是SQLite驱动的。
答案 0 :(得分:0)
Cake不支持开箱即用的东西。定义诸如$ hasOne,$ belongsTo,$ hasMany等关联的目的是使Cake可以自动组合一个SQL语句,该语句连接两个记录并在单个查询中将它们同时提取到一个数据库。
如果您不能自己编写一个可以将两个记录连接在一起的SQL语句,那么Cake肯定无法自动完成。
如果你想这样做,你需要忘记Cake的关联(hasMany,belongsTo,hasOne等)并自己手动编码。我没有使用LDAP的经验,但我想你将不得不从LDAP中获取用户,并获取Vhost,作为两个单独的步骤,然后手动将两位数据拼凑在一起。