把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' => '852369@qq.com'),
        array('username' => 'shennanluban',  'email' => 'shennanluban@qq.com'),
        array('username' => 'xiaoxuesheng',  'email' => 'xiaoxuesheng@qq.me'),
    ));

执行命令

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 = 'some@overtrue.me';
$user->save();

// ... 更多

关于Eloquent有很多用法,有兴趣的就去查阅相关文档吧
https://docs.golaravel.com/docs/4.1/eloquent
https://learnku.com/docs/laravel/5.8/eloquent/3931

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值