LoginSignup
0
0

More than 5 years have passed since last update.

Laravel4をMacで動かしたときのメモ

Last updated at Posted at 2014-09-24

環境構築

  • PHPはMAMPものを利用(anyenvからだとハマったので割愛・・・)
  • /usr/local/binあたりにシンボリックリンク
  • 複数のPHP環境があるとartisan実行時にこける
  • post-update-cmdにPHPのパスを絶対指定で書く
  • php artisan serveでローカルサーバ動かす場合はPHP >= 5.4で

SQLiteでmigrate

app/config/database.php
'default' => 'sqlite'
  • 特に変更しなければ、production.sqliteで作成
  • php artisan migrateでスキーマができてればSQLiteファイル生成

Seederを使って初期データ作成

モデルに個別のSeederを作成

app/database/seeds/UserTableSeeder.php
class UserTableSeeder extends Seeder {
    public function run()
    {
        DB::table('users')->delete();
        User::create(array(
            'email' => 'info@example.com',
            'name' => 'Test Man'
        ));
    }
}

モデルごとのSeederを呼び出し

app/database/seeds/DatabaseSeeder.php
<?php

class DatabaseSeeder extends Seeder {

    public function run()
    {
        Eloquent::unguard();

        $this->call('UserTableSeeder');
    }

}

db:seedで実行

php artisan db:seed

コントローラー周り

JSONを返す

app/routes.php
Route::get('users.json', function()
{
    $users = User::all();

    return Response::json($users);
});

疑問点

  • クイックスタートは日本語の内容で
  • クイックスタート通りにcreate_users_table.phpを生成
  • この時、modelが生成される
  • Eloquent(O/Rマッパー)を継承した状態だが、protectedでテーブル名が埋め込まれている
  • クイックスタートでは自分でmodelファイル作ってるので、テーブル名の指定は不要
  • FuelPHPのように実テーブル名がクラス名と合わない場合のためか
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0