2011-12-19 12 views
0

CakePHPのコミュニティのための質問:CakePHPの問題:データベースへの予期しないコール

私は、CakePHP 2.0.4にCakePHPの1.3.11を使用して構築されたWebサイトをアップグレードしようとしています。これは、データベースが接続されていない非常に単純なサイトです。私は、PagesController/PageModelを使用してフォームから渡されたデータを検証し、提供された情報に基づいて電子メールを送信したいと考えています。 PageModel

$useTable変数がfalseに設定されているとdatabase.php$defaultは(推論は、私はいつでもデータベースconnecitonを必要といけないされている)だけでなく、デフォルト..として残されています。時間がない時に、私は任意のデータベースへの呼び出しをしたいですかとき

Error: SQLSTATE[28000] [1045] Access denied for user 'user'@'localhost' (using password: YES) requires a database connection.

は、なぜそれは私にこれを与える:

問題は、私はビューをロードしようとすると、私が得る、入ってきましたか? 1.3.11で正常に動作しましたが、何か不足していますか?私はジレンマを適切に説明したいと思っています。どんな入力も高く評価されます。

+0

で動作します:では

:私は、同様のプロジェクトでこれを使用しましたdatabase.php? – Rikesh

+0

いいえ、前述のように、config/database.phpは設定されておらず、デフォルトの接続配列の値は空白のままです。どうして?すべての集中的な目的のために、ボックスにデータベースサーバがないと仮定することができます。ウェブサイトはデータベースを必要とせず、いつでもデータベースへの接続を呼びます。確かにCakePHP 2.0はこのシナリオに対応しています。 – Hegemon

+0

意図と目的。ごめんなさい。バグ私:P – Julien

答えて

0

データベースを使用していない場合は、ダミーのデータソースを作成する必要があるようです。

私はこれをやったことがないが、このスレッドは有望に見える:http://groups.google.com/group/cake-php/browse_thread/thread/1254d64d4b21b24c

+1

あなたのご意見ありがとうございます、ソリューションはここに提供されましたhttp://stackoverflow.com/a/8562288/1105939 – Hegemon

2

それは私が信じているケーキ2.0のためにわずかに異なるのです。 /あなたの設定には何も設定しまし

APP/Model/Datasource/Database/fake.php // fake.php is your class name 

<?php 
App::uses('DboSource', 'Model/Datasource'); 

// allows Cake to function without a database connection 

class Fake extends DboSource { 

public $description = "Disable the requirement of connecting to a database."; 

function connect() 
{ 
    $this->connected = true; 
    return $this->connected; 
} 

function disconnect() // probably not necessary but for completion 
{ 
    $this->connected = false; 
    return !$this->connected; 
} 

} 

database.php

class DATABASE_CONFIG { 

public $default = array(
    'datasource' => 'Database/Fake', // usually Database/Mysql 
    'persistent' => false, 
    'host' => 'localhost', 
    'login' => 'user', 
    'password' => '', 
    'database' => '', 
    'prefix' => '', 
    'encoding' => 'utf8', 
); 

// I left the other keys in in case you need to swap 
// to a real connection quickly at some point. 

で、これは2.0.4

+0

私はこれがCakePHP 2.0で食料調達されていないのは非常に奇妙です発生。しかし、あなたのソリューションは完璧に動作し、私はあなたのご意見を大変ありがとうございます! – Hegemon

関連する問題