把laravel的ORM集成進你的項目,Eloquent作爲獨立的PHP模塊載入

相信很多PHP項目不是基於laravel框架來寫的,但寫過laravel應用的PHPer會比較喜愛laravel的ORM,也因爲最近要寫一個PHP腳本(非laravel應用)需要用到數據庫的相關操作,so,在腳本中使用Eloquent,這樣比直接寫PDO爽多了。再說個題外話,PHP很適合寫服務器腳本,腳本就是力求簡單、快速、輕量,所以直接在PDO也是不錯的,我是經常用PDO來寫腳本的數據庫操作,無需載入其他文件。

Laravel的Eloquent是一個很棒的ORM,下面就開始詳細介紹如何在自己的項目集成Eloquent吧!

安裝

項目需要composer,需要提前安裝,這裏不細說了,使用下面命令來安裝Eloquent

composer require illuminate/database

也可以去 https://packagist.org/packages/illuminate/database 查看官方提供的相關說明與詳細的環境要求

配置

db.php

<?php

// 載入composer的autoload文件
include __DIR__ . '/vendor/autoload.php';

$database = [
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'demo',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
];

use Illuminate\Container\Container;
use Illuminate\Database\Capsule\Manager as Capsule;//如果你不喜歡這個名稱,as DB;就好

$capsule = new Capsule;

// 創建鏈接
$capsule->addConnection($database);

// 設置全局靜態可訪問
$capsule->setAsGlobal();

// 啓動Eloquent
$capsule->bootEloquent();

現在只要你需要使用到Eloquent的地方載入這個文件即可, 下面我們來簡單介紹一下使用。

建表

create-table.php

<?php

//包含Eloquent的初始化文件
include __DIR__ . '/db.php';

use Illuminate\Database\Capsule\Manager as Capsule;

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

執行命令

php create-table.php
寫入數據

insert.php

<?php

//包含Eloquent的初始化文件
include __DIR__ . '/db.php';

use Illuminate\Database\Capsule\Manager as Capsule;

Capsule::table('users')->insert(array(
        array('username' => 'Helloworld',  'email' => '[email protected]'),
        array('username' => 'shennanluban',  'email' => '[email protected]'),
        array('username' => 'xiaoxuesheng',  'email' => '[email protected]'),
    ));

執行命令

php insert.php
使用MVC的模型

只要你的模型繼承Eloquent的Model類,就可以了

use  Illuminate\Database\Eloquent\Model  as Eloquent;

class User extends  Eloquent
{
	protected $table = 'users';
}

你就可以很方便的像在Laravel框架裏一樣使用Eloquent了

// 查詢id爲2的
$users = User::find(2);

// 查詢全部
$users = User::all();

// 創建數據
$user = new User;
$user->username = 'someone';
$user->email = '[email protected]';
$user->save();

// ... 更多

關於Eloquent有很多用法,有興趣的就去查閱相關文檔吧
https://docs.golaravel.com/docs/4.1/eloquent
https://learnku.com/docs/laravel/5.8/eloquent/3931

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章