「Php/composer/Eloquent」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→サンプル) |
(→userのテーブル取得) |
||
| (同じ利用者による、間の9版が非表示) | |||
| 行24: | 行24: | ||
$rows = $db::select('show databases'); | $rows = $db::select('show databases'); | ||
foreach($rows as $row) { | foreach($rows as $row) { | ||
| − | echo $row | + | echo array_pop($row) . "\n"; |
} | } | ||
</pre> | </pre> | ||
| 行31: | 行31: | ||
<pre> | <pre> | ||
$rows = $db::select('show tables'); | $rows = $db::select('show tables'); | ||
| − | |||
foreach($rows as $row) { | foreach($rows as $row) { | ||
| − | echo $row[' | + | echo array_pop($row) . "\n"; |
| + | } | ||
| + | </pre> | ||
| + | |||
| + | ==userのテーブル取得== | ||
| + | <pre> | ||
| + | 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); | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | ==テーブル取得で以下エラーが出るとき== | ||
| + | テーブル名を明示的に指定してあげる | ||
| + | Base table or view not found: 1146 Table | ||
| + | <pre> | ||
| + | class Media extends Illuminate\Database\Eloquent\Model | ||
| + | { | ||
| + | protected $table = 'medias'; | ||
} | } | ||
</pre> | </pre> | ||
2019年2月21日 (木) 16:48時点における最新版
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';
}
