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';
}
