LoginSignup
5
3

More than 5 years have passed since last update.

LaravelのEloquentを使う

Posted at

Laravelは使わずに、ORMとして、Eloquentだけ使う方法を検討してみます

ドキュメント

php5.3〜で使いたかったのでドキュメント的にはこちらを見ます

ざっと日本語で調べると

http://laravel3.kore1server.com/docs/database/eloquent

こちらのページが出てきたのですが、バージョンが3系なので、
has_onehasOneとかメソッド名が変わっており、
そのままコピペして動かそうとすると動かないので注意です。

composer でインストール

composer require "illuminate/database=~4.1"

※php5.3で使いたかったので、5.3対応している最新バージョン

実際に使う時にどうするか

この辺に動くやつを作って置きました

シングルトン

シングルトンを使うやつ

サンプル

こんな感じで使えるようになりまっす。

<?php
use Model\Eloquent;
use Model\User;

// composerのautoload設定
$loader = require('./vendor/autoload.php');
$loader->add('Model\\', __DIR__);

// 初期化処理
Eloquent::init();

$user = User::find(1);
var_dump($user->name);

$results = Eloquent::getConnection()
    ->select('select * from my_users');
var_dump($results[0]['name']);

$log = Eloquent::getConnection()->getQueryLog();
var_dump($log);

所感

めんどくさくなって雑にまとめたんだけど、ORM便利!!
もっといい書き方があればどなたか教えてください〜

動くものはこの辺に書いてます

https://github.com/mapyo/sample/tree/master/php/eloquent-sample

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3