Laravel 프레임웍 없이 Eloquent 사용하기

Submitted by river - 등록 5 years ago - 수정 3 years ago

Laravel 프레임을 사용하지 않더라도 Eloquent ORM을 사용할 수가 있다.

eloquent 설치

$ composer require illuminate/database

database.php 파일 생성

<?php  
require 'vendor/autoload.php';  

use Illuminate\Database\Capsule\Manager as Capsule;  

$capsule = new Capsule; 

$capsule->addConnection(array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'test',
    'username'  => 'root',
    'password'  => 'root',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => ''
));


$capsule->addConnection(array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'test',
    'username'  => 'root',
    'password'  => 'root',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => ''
), 'connName');

$capsule->setAsGlobal(); 
$capsule->bootEloquent();

app.php 파일 생성

<?php 
include 'database.php'; 

class Book extends Illuminate\Database\Eloquent\Model {
    public $timestamps = false;
}

$book = new Book();
$book->name = "From apprentice to artisans";
$book->author = "Tarylor Otwell";
$book->save();

app.php 터미널에서 실행

$ php app.php

데이타베이스 연결 설정을 동적으로 바꾸기 원하면 다음의 코드 참고

$capsule->addConnection(array(
    'driver'    => 'sqlite',
    'database'  => 'sqlite.db3',
    'prefix'    => ''
), 'conn');

// DB 작업
// ...

// 연결을 끊고, 연결 설정 삭제
$capsule->getDatabaseManager()->purge('conn');

$capsule->addConnection(array(
    'driver'    => 'sqlite',
    'database'  => 'sqlite.db3',
    'prefix'    => ''
), 'conn');

참고

comments powered by Disqus