演習課題「Player詳細に体力と強さを表示する」
右の環境には、MySQLからplayersテーブルとJobsテーブルのデータを表示するプログラムが、PHPとEloquentで作成してあります。
これを修正して、プレイヤーの詳細ページに、該当職業のvitalityカラムとstrengthカラムを追加表示してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#07:特定のプレイヤーを表示する - その2
ここでは、PHPとEloquentを使った具体例として、簡単なWebアプリケーションを作ります。RPGのプレイヤー一覧から、各プレイヤーの詳細情報を表示しましょう。今回は、先ほどの続きとして、特定のプレイヤー情報を表示するテンプレートを作成します。
public_html/show_player.php<?php
require_once './vendor/autoload.php';
$db = new Illuminate\Database\Capsule\Manager;
$db->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'mydb',
'username' => 'root',
'password' => ''
]);
$db->setAsGlobal();
$db->bootEloquent();
use Illuminate\Database\Eloquent\Model;
class Player extends Model {
public $timestamps = false;
public function job() {
return $this->belongsTo('Job');
}
}
class Job extends Model {
}
if(isset($_REQUEST['id'])) {
$id = $_REQUEST['id'];
}
$player = Player::find($id);
$message = 'This is paiza';
require_once 'views/profile.tpl.php';
public_html/views/profile.tpl.php<!DOCTYPE html>
<html lang='ja'>
<?php include('header.inc.php'); ?>
<body>
<h1>Player profile</h1>
<p><?= $message ?></p>
<ul>
<li>ID:<?= $player->id ?></li>
<li>名前:<?= $player->name ?></li>
<li>レベル:<?= $player->level ?></li>
<li>職業id:<?= $player->job_id ?></li>
<li>職業名:<?= $player->job->job_name ?></li>
</ul>
<p><a href='index.php'>リストに戻る</a></p>
<?php include('footer.inc.php'); ?>
</body>
</html>
public_html/views/index.tpl.php<?php foreach ($players as $player) { ?>
<p>
<?= $player->id ?>,
<?= $player->name ?>,
<?= $player->level ?>,
<?= $player->job->job_name ?>,
<a href='show_player.php?id=<?= $player->id ?>'>表示</a>
</p>
<?php } ?>
- Eloquent をおさらい - Qiita
https://qiita.com/shosho/items/5ca6bdb880b130260586
- Eloquent ORMについてなにも知らなかった(1) - 基本的な使い方編 - - zuckey blog
https://blog.zuckey17.org/entry/2018/01/14/214919
- Eloquent:利用の開始 5.6 Laravel
https://readouble.com/laravel/5.6/ja/eloquent.html
- Eloquent: Getting Started - Laravel - The PHP Framework For Web Artisans
https://laravel.com/docs/5.6/eloquent