Php/composer/Eloquent
提供: 初心者エンジニアの簡易メモ
Eloquentとは
laravelなどで使われてるdbライブラリ
インストール
php composer.phar require illuminate/database
サンプル
require_once 'vendor/autoload.php'; $db = new Illuminate\Database\Capsule\Manager; $db->addConnection([ 'driver' => 'mysql', 'host' => 'hogehoge.com', 'database' => 'test', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ]); $db->setAsGlobal(); $db->bootEloquent(); // schemalist $rows = $db::select('show databases'); foreach($rows as $row) { echo array_pop($row) . "\n"; }
テーブル一覧サンプル
$rows = $db::select('show tables'); foreach($rows as $row) { echo array_pop($row) . "\n"; }
userのテーブル取得
class User extends Illuminate\Database\Eloquent\Model { } $user = User::find(1); if ($user) { echo print_r($user->toArray(),1); echo $user->toArray()['name'] . "\n"; } $users = User::where("id", 1)->limit(1)->get(); if ($users) { echo print_r($users->toArray(),1); }
テーブル取得で以下エラーが出るとき
テーブル名を明示的に指定してあげる
Base table or view not found: 1146 Table
class Media extends Illuminate\Database\Eloquent\Model { protected $table = 'medias'; }