如何在CakePHP上使用没有数据库的模型并进行关联?

Vib*_*ude 10 cakephp

country_id在我的一个模型中得到了这个字段,而不是创建一个countries包含一个不变的国家列表的表,这是最好的方法是什么?

我正在考虑使用没有数据库表的模型,但我不知道如何实现它.

请帮忙.提前致谢!

Bal*_*hev 15

你可以完全使用no表语法:

class ModelWithoutTable extends AppModel
{
    var $useTable = false;
}
Run Code Online (Sandbox Code Playgroud)

让这个国家模型无表格,但你需要模拟国家数据的数据源(即XML,YAML,PHP数组等).

希望这可以帮助.


dei*_*zel 10

我建议使用ArraySource社区维护的CakePHP Datasources插件:

下载整个插件并将内容解压缩到app/plugins/datasources.

在以下位置定义与数据源的连接app/config/database.php:

public $array = array('datasource' => 'Datasources.array');
Run Code Online (Sandbox Code Playgroud)

这应该允许您通过在模型中定义记录来模拟表:

class Country extends AppModel {

    public $useDbConfig = 'array';

    public $records = array(
        array('id' => 1, 'name' => 'Test record')
    );

}
Run Code Online (Sandbox Code Playgroud)