2019年12月26日09:43:14
github:https://github.com/illuminate/database
为什么要独立使用这个orm,有以下几个原因
第一:功能实在太强大,写起来舒服,代码复用好
第二:性能不错
目前已经配套到laravel 6.x,目前需要php7.2以上
官方使用说明:
用于PHP的完整数据库工具包,提供了表达性查询构建器,ActiveRecord样式ORM和模式构建器。目前,它支持MySQL,Postgres,SQL Server和SQLite。它还充当Laravel PHP框架的数据库层。
使用说明
首先,创建一个新的“胶囊”管理器实例。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)); // Make this Capsule instance available globally via static methods... (optional) $capsule->setAsGlobal(); // Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher()) $capsule->bootEloquent(); composer require "illuminate/events" required when you need to use observers with Eloquent.
一旦注册了Capsule实例。您可以这样使用它:
使用查询生成器
$users = Capsule::table('users')->where('votes', '>', 100)->get(); 可以从Capsule直接访问其他核心方法,方法与从DB Facade相同: $results = Capsule::select('select * from users where id = ?', [1]); 使用架构生成器 Capsule::schema()->create('users', function ($table) { $table->increments('id'); $table->string('email')->unique(); $table->timestamps(); }); 使用 Eloquent ORM class User extends Illuminate\Database\Eloquent\Model {} $users = User::where('votes', '>', 1)->get();