2014-01-29 33 views
-2

我在我的应用程序中使用了cassandra DB以及cakephp。我创建了自定义数据源像在配置没有数据库的cakephp时出错

App::uses('DboSource', 'Model/Datasource'); 
class CassndraDb extends DboSource 
{ 
    var $description = "This is a temporary driver for cassandra"; 
    function connect() 
    { 
     $this->connected = true; 
     return $this->connected; 
    } 
    function disconnect() 
    { 
     $this->connected = false; 
     return !$this->connected; 
    } 
    function value($string) 
    { 
     return "\0".$string."\0"; 
    } 
} 

而且我的数据库文件看起来像

public $default = array(
      'datasource' => 'CassndraDb', 
      ); 

我已经配置了应用程序之外CakePHP的,这样我的两个应用程序可以运行份额CakePHP的核心库。

我有两个问题

  1. CakePHP的不接受应用程序/型号/数据源/ SOURCE_FILES。并给出 错误“错误:无法找到数据源类CassndraDb。” “。当我将数据源复制到cake/lib/Cake/Model/Datasource/ 时,只有cakephp授予数据源。

  2. 当我将数据源文件复制到 “cake/lib/Cake/Model/Datasource /”时,它会给出一系列错误。

我不知道什么用CakePHP的问题,但它会尝试连接到数据库,尽管我曾public $useTable = false;集。我试图调试,但坚持不了cakephp。

有没有人有这方面的想法?请帮忙。

由于提前 马尼什

+0

“它提供了一系列的错误。” - 什么错误......? – burzum

+0

var_dump(App :: path('Model/Datasource'))的输出是什么? –

+0

var_dump的输出(App :: path('Model/Datasource')); is array(1){[0] => string(34)“/app/Model/Datasource /”} –

回答

0

啊!我调试了问题。它由于模型文件夫妇的错误名称。 cakephp的错误信息实际上是欺骗性的。乍一看,我认为它的数据库连接相关的问题。

@Borislav Sabev:我也尝试在所有模型中将空数据库配置类和useTable设置为false。无论数据库配置和useTable设置cakephp都尝试连接到数据库。我认为他们必须引入某种可以关闭数据库连接部分的配置设置。

相关问题