tomocito

5年間アメリカでエンジニアをして、現在は日本でエンジニアとして働いています。 Lara…

tomocito

5年間アメリカでエンジニアをして、現在は日本でエンジニアとして働いています。 Laracastsなど英語で勉強することがほとんどなので、そこで学べるようなことを日本語でシェアできればと思います。

マガジン

  • Laravel 8

    Laracastsのlaravel 8 from scratchのコースを勉強しながらまとめています。

  • javascript 関数

    javascriptの関数を勉強した記事をまとめています。

最近の記事

[laravel8] HTMLファイルをBladeに変換

今回の記事ではすでに準備されているHTMLをBladeに移植していきます。 ダウンロードHTMLファイルが準備されているので以下のページから Codeをクリックし Download ZIP より圧縮されたファイルをダウンロードする。 圧縮ファイルを解凍する。 移植解凍するとindex.htmlがあるので、そのファイルの中身をコピーして resources/views/components/layout.blade.php へ、ペーストする。(書き換える) その

    • [laravel8] 再びN+1問題を解決

      前回の記事でブロガーごとの記事の一覧を表示することができました。 しかし数カ所にN+1問題が発生してしまっているので1つずつ修正していきます。 ClockworkTOPページのviewにも使っている resources/views/posts.blade.php のviewにブロガーの名前を表示するようにしたためにN+1問題が起きています。 上の記事でも紹介したClockworkを使い確認してみましょう。 5つの記事を取得するのに7つのクエリが実行されています。

      • [laravel8] ブロガーごとの記事を表示

        今回の記事ではブロガー(筆者)ごとの記事をまとめて表示したいと思います。 一覧での表示順変更ブロガーごとの記事の表示に取り掛かる前に、TOPページの記事一覧の表示順を確認します。 まずはTinkerで1つ記事を追加してみます。 $php artisan tinkerPsy Shell v0.10.8 (PHP 8.0.3 — cli) by Justin Hileman>>> App\Models\Post::factory()->create();=> App\Mod

        • [laravel8] Seeder

          前回の記事でFactoryを作成した後にTinkerを使用しテストデータをデータベースのテーブルに挿入することができました。 今回はこのFactoryをコマンドから実行できるようにします。 DatabaseSeederあとでコマンドを実行してFactoryを実行しますが、そのコマンドが実行するファイルはseedersディレクトリの中にあるDatabaseSeeder.phpになります。 database/seeders/DatabaseSeeder.php <?php

        [laravel8] HTMLファイルをBladeに変換

        マガジン

        • Laravel 8
          19本
        • javascript 関数
          1本

        記事

          [laravel8] Model Factory

          Laravelで開発を行っていて、新たにテーブルにカラムを追加することになりマイグレーションを編集し php artisan migrate:fresh 上のコマンドを実行するということはよくあることです。 しかしこのコマンドを実行すると今までデータベースに入っていたテスト用のデータはすべて消えてしまい、もう一度データベースにデータを挿入しなくてはなりません。 そんなときにLaravelではテスト用のデータを生成してくれるModel Factoryという機能があります

          [laravel8] Model Factory

          [laravel8]N+1問題

          前回の記事でも出てきた 記事一覧ページ resources/views/posts.blade.php <x-layout> @foreach($posts as $post) <article> <h1> <a href="/posts/{{ $post->slug}}" > {{ $post->title }} </a> </h1>

          [laravel8]N+1問題

          [laravel8]カテゴリーのブログ記事を表示

          前回はブログにカテゴリーを追加しました。 今回はそのカテゴリーごとのブログ記事を表示できるようにしたいと思います。 Eloquent Relationship前回Postモデルに app/Models/Post.php public function category() { return $this->belongsTo(Category::class); } Categoryメソッドを追加し、 $post->category と記

          [laravel8]カテゴリーのブログ記事を表示

          [laravel8] ブログのカテゴリー追加

          以前の記事で ブログの記事を表示するところまで実装しました。 後にカテゴリーでまとめて記事を表示できるようにするために、この記事ではブログにカテゴリーを追加していきます。 マイグレーション&モデル 生成カテゴリーを格納するためのテーブルを追加するためのマイグレーションファイルとそのテーブルを操作するためのモデルを生成していきます。 マイグレーションのファイル生成コマンド $php artisan make:migration create_categories_ta

          [laravel8] ブログのカテゴリー追加

          [laravel] meilisearchを試してみました

          laravel news にlaravel scoutがmeilisearchに対応したと書いてあったので、今回試したみました。 meilisearchとは?オープンソースで高速な全文検索できるサーチエンジン。サーチ時のタイポにも対応している。 Laravelインストールしてからデータ挿入laravel インストール $laravel new meilisearch-test プロジェクトのディレクトリに移動 $cd meilisearch-test データベース

          [laravel] meilisearchを試してみました

          [laravel8] ルート・モデル・バインディング

          ルート・モデル・バインディングとは?いきなり例から見てみます。 routes/web.php // /posts/(記事ID) 記事IDが$idになるRoute::get('/posts/{post}', function ($id) { // 記事IDが$idの記事を取得 $post = Post::findOrFail($id); // $post(記事) return view('post', [ 'post' => $post ])

          [laravel8] ルート・モデル・バインディング

          [laravel8] mass assignment

          LaravelではEloquentモデルのcreateメソッドを使用してデータを保存すると、保存したモデルのインスタンスを返してくれます。 use App\Models\Flight;$flight = Flight::create([ 'name' => 'London to Paris',]); しかし、この方法は『mass assignmentの脆弱性』を招くとして知られていて、データベースのテーブルのカラムが書き換えられてしまう可能性があります。 mass

          [laravel8] mass assignment

          [laravel8] ブログ記事の表示

          今回はブログの記事を表示するためにルーティングを設定し、viewも作成します。 ルーティングルーティングの設定をする前にどのようにブログを表示させるかを考えましょう。  今回は トップページに記事の一覧を表示 ( / ) 個別記事のページ ( /posts/(記事id) ) として進めていきます。 ルーティングを設定するファイル routes/web.php <?phpuse App\Models\Post;use Illuminate\Support\Fac

          [laravel8] ブログ記事の表示

          [laravel8] bladeの2つのレイアウト方法

          上の記事で説明したようにviewファイルは resources/views/ のディレクトリに保存しますが、例えば2つのviewファイルがある時どうなるでしょうか?  ・ブログ記事一覧のページ resources/views/posts.blade.php <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" conten

          [laravel8] bladeの2つのレイアウト方法

          オフセット・ページネーションとカーソル・ページネーションの比較

          Twitterでこの新しくLaravelに追加されるカーソル・ページネーションについての記事を見つけて面白かったので、自分なりにまとめてみたいと思います。 オフセット・ページネーション現在オフセット・ページネーションはよく使われているページネーションの一つです。 LaravelのpaginateとsimplePaginateのメソッドはこのオフセット・ページネーションをデフォルトで使用しています。 次のユーザーのテーブルのデータのページネーションを考えてみましょう。

          オフセット・ページネーションとカーソル・ページネーションの比較

          [lavavel8] viewの基礎

          ユーザーのブラウザで表示されるHTMLで構成されるviewを見ていきます。 viewファイルlaravelで使われるテンプレートのファイルは resources/views/ のディレクトリの下に保存されています。 Laravelをインストールした直後には resources/views/welcome.blade.php が自動的に作られます。 基本的にはここのディレクトリにあるファイルが、あなたのサイトを見にきたユーザーが見るページになります。 すでに気づ

          [lavavel8] viewの基礎

          [laravel8] 記事Modelとマイグレーション

          ここからは今回作成するブログのの記事のModelとそのマイグレーションを作成していきます。 マイグレーションブログの記事を格納するpostsテーブルを作成するマイグレーションを作成します。 マイグレーションのファイルを作成するコマンド $php artisan make:migration (マイグレーション名) マイグレーション名は一般的には (動詞)_(テーブル名)_table のように書きます。ここではpostsテーブルを作成するので以下のようにコマンドを書きま

          [laravel8] 記事Modelとマイグレーション