ユーザ用ツール

サイト用ツール


laravel:db_access

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
laravel:db_access [2023/04/12 17:48] mikotolaravel:db_access [2023/04/13 11:27] (現在) mikoto
行 1: 行 1:
 ====== データベースへのアクセス ====== ====== データベースへのアクセス ======
 +[[:laravel|一つ上へ]]
 +
 データベースのアクセス情報を''.env''ファイルに記載する。 データベースのアクセス情報を''.env''ファイルに記載する。
 ファイルはプロジェクトのルートディレクトリにある。 ファイルはプロジェクトのルートディレクトリにある。
行 27: 行 29:
   @foreach ($results as $a)   @foreach ($results as $a)
     <li>{{ $a->name }}</li>     <li>{{ $a->name }}</li>
 +  @endforeach
 +</ul>
 +</body>
 +</html>
 +</code>
 +
 +もし、''MySQL could not find driver''と表示される場合は、pdo_mysqlドライバがインストールされていない。
 +Oracle Linux の場合は以下のようにインストールする。
 +<code>
 +dnf install php-mysqlnd
 +</code>
 +
 +===== モデルを作成する方法 =====
 +以下のコマンドでモデルを作成する.
 +<code>
 +php artisan make:model Item
 +</code>
 +これで''app/Models''ディレクトリ内にItem.phpが生成される。
 +このファイルに使用するテーブル名を記載する。
 +<file>
 +<?php
 +
 +namespace App\Models;
 +
 +use Illuminate\Database\Eloquent\Factories\HasFactory;
 +use Illuminate\Database\Eloquent\Model;
 +
 +class Item extends Model
 +{
 +    protected $table = 'table_name'; <=これを書き加える
 +}
 +</file>
 +次に、ルートを作成する。''routes/web.php''を編集
 +<file>
 +Route::get('/lsql', 'App\Http\Controllers\LSQLController@index');
 +</file>
 +を追加する。
 +
 +''app/Http/Controllers/LSQLController.php''を編集する
 +<code php>
 +<?php
 +
 +namespace App\Http\Controllers;
 +
 +use Illuminate\Http\Request;
 +use App\Models\Item;
 +
 +class LSQLController extends Controller
 +{
 +    public function index() {
 +        $items = Item::limit(10)->get();
 +        return view('lsql', ['results' => $items]);
 +    }
 +}
 +</code>
 +ここでは10件のみ取得するようにし、lsql.blade.php側でresultsで取得するようにしている。
 +
 +ビュー側では、これを取得して表示するよう記載する
 +<code html>
 +<html>
 +<body>
 +<ul>
 +  @foreach ($results as $a)
 +    <li>{{ $a->col_name }}</li>
   @endforeach   @endforeach
 </ul> </ul>
laravel/db_access.1681289281.txt.gz · 最終更新: 2023/04/12 17:48 by mikoto