マーカーネット株式会社

WEB制作ブログ WEBデザイン、HTMLコーディング、PHP、スマートフォン制作などWEB制作全般に役立つ情報を発信していきます。

PHP WEB制作

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

投稿日:2013年12月4日 更新日:

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’);
}

-PHP, WEB制作

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

wpdbは使わず、WordPressのデータベースから直接データを取得する方法

wpdbは使わず、WordPressのデータベースから直接データを取得する方法

今回は、wordpressのwpdbを利用できない環境で、phpのPDOを利用し、 selectする方法をご紹介いたします。 WordPressのサイトからフォームに記事IDとともに遷移し、フォームに …

【Illustrator小技】PDFファイルを代替フォントでなくアウトライン化して開ける便利なワザ

アウトライン化されていないPDFをIllustratorで開こうとする時、 Illustrator「このPDF、該当するフォントがないから代替しちゃいますね~」 デザイナー「うわぁぁフォント変わっちゃ …

【Vol.5】優れたキャッチコピーを見て、閃き力を上げよう!【映画・アニメ編】

冬っ子のわたくし、この暑さもう限界です 皆様こんにちは。いかがお過ごしでしょうか? 真冬生まれのため連日の暑さに耐えきれず瀕死状態のAD&デザイナーMです。   明日から気温が落ち着くようで …

多言語対応で1000億円の経済効果!WEBサイトも多言語化を

多言語対応で1000億円の経済効果!WEBサイトも多言語化を

近ごろのニュースで、訪日観光客の増加という記事をよく見かけるようになりました。東京の街を歩いても日本への訪日客が増えたことを実感できるほど外国語が飛び交ってますね。2015年は【多言語化元年】と言われ …

知ってそうで知らないCSS3の便利な使い方【その3:box系プロパティ】

知ってそうで知らないCSS3の便利な使い方【その3:box系プロパティ】

今回はCSS3を使ったレイアウトで使えるbox系プロパティを使ってみました。 このbox系のプロパティを使えばCSS2等で使っていたfloatやtable-cellプロパティを使わずに横並びレイアウト …