sql >> データベース >  >> RDS >> Mysql

Laravelのデータベースレイヤーをスタンドアロンで使用できますか?

    IMOOOPアプローチに段階的に移行することは絶対に有効です。

    あなたの質問へ:

    はい、Eloquentスタンドアロンを使用できます。

    これがpackagistサイトです: https://packagist.org/packages/illuminate/database "illuminate/database": "5.0.*@dev"を追加します composer.jsoncomposer updateを実行します .Eloquentをブートストラップする必要があります。 ( https://github.com/illuminate/database

    以下は、リポジトリのreadmeからコピーされたものです。

    使用方法

    まず、新しい「Capsule」マネージャーインスタンスを作成します。 Capsuleは、Laravelフレームワークの外部で使用するためのライブラリの構成を可能な限り簡単にすることを目的としています。

    use Illuminate\Database\Capsule\Manager as Capsule;
    
    $capsule = new Capsule;
    
    $capsule->addConnection([
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'database',
        'username'  => 'root',
        'password'  => 'password',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ]);
    
    // Set the event dispatcher used by Eloquent models... (optional)
    use Illuminate\Events\Dispatcher;
    use Illuminate\Container\Container;
    $capsule->setEventDispatcher(new Dispatcher(new Container));
    
    // Set the cache manager instance used by connections... (optional)
    $capsule->setCacheManager(...);
    
    // Make this Capsule instance available globally via static methods... (optional)
    $capsule->setAsGlobal();
    
    // Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher())
    $capsule->bootEloquent();
    

    Capsuleインスタンスが登録されたら。あなたはそれをそのように使うことができます:

    クエリビルダーの使用

    $users = Capsule::table('users')->where('votes', '>', 100)->get();
    

    他のコアメソッドには、DBファサードからと同じ方法でCapsuleから直接アクセスできます。

    $results = Capsule::select('select * from users where id = ?', array(1));
    

    スキーマビルダーの使用

    Capsule::schema()->create('users', function($table)
    {
        $table->increments('id');
        $table->string('email')->unique();
        $table->timestamps();
    });
    

    EloquentORMの使用

    class User extends Illuminate\Database\Eloquent\Model {}
    
    $users = User::where('votes', '>', 1)->get();
    

    このライブラリが提供するさまざまなデータベース機能の使用に関する詳細なドキュメントについては、Laravelフレームワークのドキュメントを参照してください。



    1. 〜の例に対するmysqlの一致

    2. Dockerはpostgresqlが実行されるのを待ちます

    3. JPA / HibernateでネイティブSQLスクリプトを実行するにはどうすればよいですか?

    4. MySQLデータベースを別のマシンにコピーする