找不到cakephp数据库
发布时间:2020-12-13 13:18:34 所属栏目:PHP教程 来源:网络整理
导读:我有使用cakephp开发的项目,它从不同的数据库中获取数据,但如果其中一个数据库某些页面未打开并给我以下错误: Database table tablenae for model moedlname was not found. ..我在这个页面中显示了从其他数据库显示的其他数据. 我如何确定数据库是否使用ca
我有使用cakephp开发的项目,它从不同的数据库中获取数据,但如果其中一个数据库某些页面未打开并给我以下错误:
..我在这个页面中显示了从其他数据库显示的其他数据. 我如何确定数据库是否使用cake脱机,我可以使该模型从另一个地方读取,如缓存文件,直到数据库再次启动.
也许更好的方法是缓存结果并从缓存中读取,只需在需要时命中数据库…
<?php $cacheKey = 'myCacheNumber1'; if (($data = Cache::read($cacheKey)) === false) { $data = $this->Model->find('all'); if ($data) { Cache::write($cacheKey,$data); } } ?> 这个问题是它假设模型和数据库连接在缓存不存在(或已经过期)时可用,如果不存在,你仍然会得到相同的错误,但频率会肯定会减少. 我认为测试数据库是否可用将需要一些自定义代码技巧,因为连接的蛋糕核心方法假定成功并且在不可用时大量失败.我可能会使用标准的PHP连接方法创建一个组件来控制是否应该尝试加载模型. <?php $cacheKey = 'myCacheNumber1'; if (($data = Cache::read($cacheKey)) === false) { if ($this->DbTest->check('hostname','username','password')) { $data = $this->Model->find('all'); if ($data) { Cache::write($cacheKey,$data); } } } ?> <?php // app/controllers/components/db_test.php class DbTestComponent extends Object { function check($hostname,$username,$password) { $result = true; $link = @mysql_connect($hostname,$password); if (!$link) { $result = false; } @mysql_close($link); return $result; } } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |