yii同じコントローラで複数のデータベーステーブルを操作する
7137 ワード
main.php
'db1'=>array( 'class'=>'CDbConnection', 'connectionString' => 'mysql:host=localhost;dbname=test1', 'emulatePrepare' => true, 'username' => 'root', 'password' => '', 'charset' => 'utf8', ), 'db2'=>array( 'class'=>'CDbConnection', 'connectionString' => 'mysql:host=localhost;dbname=test', 'emulatePrepare' => true, 'username' => 'root', 'password' => '', 'charset' => 'utf8', ),
データベース・テーブルを作成するには、次の手順に従います.
Create a table named testpost in db1 as follows:
Create a table named test1comment in db2 as follows:
コントローラphp
title = "Post #".rand(1, 1000); $post->text = "text"; $aa=$post->save(); echo 'Posts'; $posts = Testpost::model()->findAll(); foreach($posts as $post) { echo $post->title."
'db1'=>array( 'class'=>'CDbConnection', 'connectionString' => 'mysql:host=localhost;dbname=test1', 'emulatePrepare' => true, 'username' => 'root', 'password' => '', 'charset' => 'utf8', ), 'db2'=>array( 'class'=>'CDbConnection', 'connectionString' => 'mysql:host=localhost;dbname=test', 'emulatePrepare' => true, 'username' => 'root', 'password' => '', 'charset' => 'utf8', ),
データベース・テーブルを作成するには、次の手順に従います.
Create a table named testpost in db1 as follows:
DROP TABLE IF EXISTS `testpost`;
CREATE TABLE IF NOT EXISTS `post` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`text` TEXT NOT NULL,
PRIMARY KEY (`id`)
);
Create a table named test1comment in db2 as follows:
DROP TABLE IF EXISTS `test1comment`;
CREATE TABLE IF NOT EXISTS `test1comment` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`text` TEXT NOT NULL,
`postId` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`id`)
);
コントローラphp
title = "Post #".rand(1, 1000); $post->text = "text"; $aa=$post->save(); echo '
Posts'; $posts = Testpost::model()->findAll(); foreach($posts as $post) { echo $post->title."
"; } echo "
"; $comment = new Test1comment(); $comment->postId = $post->id; $comment->text = "comment #".rand(1, 1000); $comment->save(); echo 'Comments'; $comments = Test1comment::model()->findAll(); foreach($comments as $comment) { echo $comment->text."
"; } }}
モデルphp
db2; }}
モデルphp
db1; }}
次に、コントローラのメソッドを実行します.すなわち、1つのコントローラメソッドで2つのデータベースを正常に操作します.
"; } }}
モデルphp
db2; }}
モデルphp
db1; }}
次に、コントローラのメソッドを実行します.すなわち、1つのコントローラメソッドで2つのデータベースを正常に操作します.