2016-09-07 16 views
1

私は、同じ問題に対して、この質問で与えられたコードYii2 Create Database Connectionを使用しています。Yii2で設定ファイルなしでデータベースに接続するには?

$config変数は、web.phpファイルの "config"フォルダからはなくなり、は彼のConfiguration::setConfig()機能で変更されています。

Yiiの中には私よりも経験豊富な方に私の質問は、私は、「データベース接続を作成するdbフィールド(またはをdb.phpファイル内)でweb.phpファイルに

  • を書くべきですプログラムで設定ファイルを使用せずに "?
  • 機能でConfiguration::setConfig()アプリケーションを正しく設定するには?

質問が不明な場合は申し訳ありません。コメントの詳細は、必要に応じてお尋ねください。ありがとうございました!

+0

私はをdb.phpファイルに設定され、有効な初期データベースを持っており、設定:: setConfig()行をコメント場合、それがうまく機能することを言及する必要があります。これは、フォームに設定された新しいデータベースで初期データベースを変更します。 – mada

答えて

2

あなたはDB接続が確立された後、1には、以下の例のようなSQL文 を実行することができ、このよう

$db = new yii\db\Connection([ 
    'dsn' => 'mysql:host=localhost;dbname=example', 
    'username' => 'root', 
    'password' => '', 
    'charset' => 'utf8', 
]); and 

$db->open(); 

新しい接続を定義することができます:

$command = $db->createCommand('SELECT * FROM post'); 
$posts = $command->queryAll(); or 

$command = $connection->createCommand('UPDATE post SET status=1'); 
$command->execute(); 

あなたはdocとguideのためにこれを見ることができます

http://www.yiiframework.com/doc-2.0/guide-db-dao.html

http://www.yiiframework.com/doc-2.0/yii-db-connection.html

+0

あなたの答えをありがとう!私の質問のコード参照のように、私の接続をコントローラに設定しています。問題は、ブートストラップフェーズでdbに接続しない方法です。設定ファイルにconnetionが設定されていない状態でアプリを起動するには? – mada

+0

dbの接続を設定せずにアプリケーションを起動することができます。dbのコンポーネントを設定しないと、 – scaisEdge

+0

あなたの助けをありがとう! ステップ1、私はdbコンポーネントなしでアプリケーションを起動します。私はフォームに記入し、コントローラにdb接続を開き、アプリのコンポーネントとして設定します。次に、モデルのGridviewを持つインデックスページにリダイレクトします。私はちょうど私がコントローラでそれを設定したにもかかわらず、dbコンポーネントがないというエラーを得る。どうすればそれを避けるべきですか? – mada

関連する問題