サイトアイコン マーカーネット株式会社

phpフレームワークlaravel4でデータベースを操作してみました。

phpフレームワークlaravel4でデータベースを操作してみました。

phpのフレームワークlaravel4でデータベースの操作をためしました。
laravel4では、「Eloquent ORM」が含まれており、簡単にデータベースの操作が可能です。

1. 今回ブログの記事とコメント用のテーブルを操作します。
CREATE TABLE IF NOT EXISTS `entries` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(100) DEFAULT NULL,
`text` varchar(100) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `comments` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`entry_id` int(10) unsigned DEFAULT NULL,
`text` varchar(100) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 接続するデータベースの指定
app/config/database.phpの以下の部分を編集します。
‘mysql’ => array(
‘driver’ => ‘mysql’,
‘host’ => ‘localhost’,
‘database’ => ‘laravel’,
‘username’ => ”,
‘password’ => ”,
‘charset’ => ‘utf8′,
‘collation’ => ‘utf8_unicode_ci’,
‘prefix’ => ”,
),

3. app/models/Entry.phpとComment.phpを作成します。

ファイルの中身は、
– Entry.php
<?php
class Entry extends Eloquent{
// 1(エントリー)対多(コメント)の関連を設定します。
public function comment() {
return $this->hasMany(‘Comment’);
}
}

– Comment.php
<?php
class Comment extends Eloquent{
// 1(エントリー)対多(コメント)の関連を設定します。
public function entry() {
return $this->belongsTo(‘Entry’);
}
}
です。

 

4. コントローラのアクションでデータベースを送信します。

public function showTest() {
$entry = Entry::find(1); // 1記事目取得します。
echo $entry->title; // 1記事目のタイトルが表示されます。

$comments = Entry::find(1)->comment; // 1記事目のコメントを取得します。
foreach ($comments as $key => $comment) {
echo $comment->text.”<br>”; // コメントの内容を表示します。
}
return View::make(‘test’);
}

モバイルバージョンを終了