tomocito

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

tomocito

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

マガジン

  • Laravel 8

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

  • javascript 関数

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

記事一覧

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

今回の記事ではすでに準備されているHTMLをBladeに移植していきます。 ダウンロードHTMLファイルが準備されているので以下のページから Codeをクリックし Download ZIP …

tomocito
2年前
2

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

前回の記事でブロガーごとの記事の一覧を表示することができました。 しかし数カ所にN+1問題が発生してしまっているので1つずつ修正していきます。 ClockworkTOPページ…

tomocito
2年前
3

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

今回の記事ではブロガー(筆者)ごとの記事をまとめて表示したいと思います。 一覧での表示順変更ブロガーごとの記事の表示に取り掛かる前に、TOPページの記事一覧の表示…

tomocito
2年前
3

[laravel8] Seeder

前回の記事でFactoryを作成した後にTinkerを使用しテストデータをデータベースのテーブルに挿入することができました。 今回はこのFactoryをコマンドから実行できるように…

tomocito
2年前

[laravel8] Model Factory

Laravelで開発を行っていて、新たにテーブルにカラムを追加することになりマイグレーションを編集し php artisan migrate:fresh 上のコマンドを実行するということはよく…

tomocito
2年前
2

[laravel8]N+1問題

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

tomocito
3年前
2

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

前回はブログにカテゴリーを追加しました。 今回はそのカテゴリーごとのブログ記事を表示できるようにしたいと思います。 Eloquent Relationship前回Postモデルに app/M…

tomocito
3年前
2

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

以前の記事で ブログの記事を表示するところまで実装しました。 後にカテゴリーでまとめて記事を表示できるようにするために、この記事ではブログにカテゴリーを追加して…

tomocito
3年前
2

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

laravel news にlaravel scoutがmeilisearchに対応したと書いてあったので、今回試したみました。 meilisearchとは?オープンソースで高速な全文検索できるサーチエンジン…

tomocito
3年前
3

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

ルート・モデル・バインディングとは?いきなり例から見てみます。 routes/web.php // /posts/(記事ID) 記事IDが$idになるRoute::get('/posts/{post}', function ($id) …

tomocito
3年前
1

[laravel8] mass assignment

LaravelではEloquentモデルのcreateメソッドを使用してデータを保存すると、保存したモデルのインスタンスを返してくれます。 use App\Models\Flight;$flight = Flight::c…

tomocito
3年前
1

[laravel8] ブログ記事の表示

今回はブログの記事を表示するためにルーティングを設定し、viewも作成します。 ルーティングルーティングの設定をする前にどのようにブログを表示させるかを考えましょう…

tomocito
3年前
1

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

上の記事で説明したようにviewファイルは resources/views/ のディレクトリに保存しますが、例えば2つのviewファイルがある時どうなるでしょうか?  ・ブログ記事一覧…

tomocito
3年前
3

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

Twitterでこの新しくLaravelに追加されるカーソル・ページネーションについての記事を見つけて面白かったので、自分なりにまとめてみたいと思います。 オフセット・ページ…

tomocito
3年前
11

[lavavel8] viewの基礎

ユーザーのブラウザで表示されるHTMLで構成されるviewを見ていきます。 viewファイルlaravelで使われるテンプレートのファイルは resources/views/ のディレクトリの下…

tomocito
3年前

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

ここからは今回作成するブログのの記事のModelとそのマイグレーションを作成していきます。 マイグレーションブログの記事を格納するpostsテーブルを作成するマイグレーシ…

tomocito
3年前
3
[laravel8] HTMLファイルをBladeに変換

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

今回の記事ではすでに準備されているHTMLをBladeに移植していきます。

ダウンロードHTMLファイルが準備されているので以下のページから

Codeをクリックし

Download ZIP より圧縮されたファイルをダウンロードする。

圧縮ファイルを解凍する。

移植解凍するとindex.htmlがあるので、そのファイルの中身をコピーして

resources/views/component

もっとみる
[laravel8] 再びN+1問題を解決

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

前回の記事でブロガーごとの記事の一覧を表示することができました。

しかし数カ所にN+1問題が発生してしまっているので1つずつ修正していきます。

ClockworkTOPページのviewにも使っている

resources/views/posts.blade.php

のviewにブロガーの名前を表示するようにしたためにN+1問題が起きています。

上の記事でも紹介したClockworkを使い確

もっとみる
[laravel8] ブロガーごとの記事を表示

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

今回の記事ではブロガー(筆者)ごとの記事をまとめて表示したいと思います。

一覧での表示順変更ブロガーごとの記事の表示に取り掛かる前に、TOPページの記事一覧の表示順を確認します。

まずはTinkerで1つ記事を追加してみます。

$php artisan tinkerPsy Shell v0.10.8 (PHP 8.0.3 — cli) by Justin Hileman>>> App\Mod

もっとみる
[laravel8] Seeder

[laravel8] Seeder

前回の記事でFactoryを作成した後にTinkerを使用しテストデータをデータベースのテーブルに挿入することができました。

今回はこのFactoryをコマンドから実行できるようにします。

DatabaseSeederあとでコマンドを実行してFactoryを実行しますが、そのコマンドが実行するファイルはseedersディレクトリの中にあるDatabaseSeeder.phpになります。

da

もっとみる
[laravel8] Model Factory

[laravel8] Model Factory

Laravelで開発を行っていて、新たにテーブルにカラムを追加することになりマイグレーションを編集し

php artisan migrate:fresh

上のコマンドを実行するということはよくあることです。

しかしこのコマンドを実行すると今までデータベースに入っていたテスト用のデータはすべて消えてしまい、もう一度データベースにデータを挿入しなくてはなりません。

そんなときにLaravelで

もっとみる
[laravel8]N+1問題

[laravel8]N+1問題

前回の記事でも出てきた

記事一覧ページ

resources/views/posts.blade.php

<x-layout> @foreach($posts as $post) <article> <h1> <a href="/posts/{{ $post->slug}}" > {{ $post->ti

もっとみる
[laravel8]カテゴリーのブログ記事を表示

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

前回はブログにカテゴリーを追加しました。

今回はそのカテゴリーごとのブログ記事を表示できるようにしたいと思います。

Eloquent Relationship前回Postモデルに

app/Models/Post.php

public function category() { return $this->belongsTo(Category::class); }

もっとみる
[laravel8] ブログのカテゴリー追加

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

以前の記事で

ブログの記事を表示するところまで実装しました。

後にカテゴリーでまとめて記事を表示できるようにするために、この記事ではブログにカテゴリーを追加していきます。

マイグレーション&モデル 生成カテゴリーを格納するためのテーブルを追加するためのマイグレーションファイルとそのテーブルを操作するためのモデルを生成していきます。

マイグレーションのファイル生成コマンド

$php art

もっとみる
[laravel] meilisearchを試してみました

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

laravel news にlaravel scoutがmeilisearchに対応したと書いてあったので、今回試したみました。

meilisearchとは?オープンソースで高速な全文検索できるサーチエンジン。サーチ時のタイポにも対応している。

Laravelインストールしてからデータ挿入laravel インストール

$laravel new meilisearch-test

プロジェクト

もっとみる
[laravel8] ルート・モデル・バインディング

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

ルート・モデル・バインディングとは?いきなり例から見てみます。

routes/web.php

// /posts/(記事ID) 記事IDが$idになるRoute::get('/posts/{post}', function ($id) { // 記事IDが$idの記事を取得 $post = Post::findOrFail($id); // $post(記事) return v

もっとみる
[laravel8] mass assignment

[laravel8] mass assignment

LaravelではEloquentモデルのcreateメソッドを使用してデータを保存すると、保存したモデルのインスタンスを返してくれます。

use App\Models\Flight;$flight = Flight::create([ 'name' => 'London to Paris',]);

しかし、この方法は『mass assignmentの脆弱性』を招くとして知られていて、デー

もっとみる
[laravel8] ブログ記事の表示

[laravel8] ブログ記事の表示

今回はブログの記事を表示するためにルーティングを設定し、viewも作成します。

ルーティングルーティングの設定をする前にどのようにブログを表示させるかを考えましょう。 

今回は

トップページに記事の一覧を表示 ( / )

個別記事のページ ( /posts/(記事id) )

として進めていきます。

ルーティングを設定するファイル

routes/web.php

<?phpuse Ap

もっとみる
[laravel8] bladeの2つのレイアウト方法

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

上の記事で説明したようにviewファイルは

resources/views/

のディレクトリに保存しますが、例えば2つのviewファイルがある時どうなるでしょうか? 

・ブログ記事一覧のページ resources/views/posts.blade.php

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <

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

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

Twitterでこの新しくLaravelに追加されるカーソル・ページネーションについての記事を見つけて面白かったので、自分なりにまとめてみたいと思います。

オフセット・ページネーション現在オフセット・ページネーションはよく使われているページネーションの一つです。

LaravelのpaginateとsimplePaginateのメソッドはこのオフセット・ページネーションをデフォルトで使用していま

もっとみる
[lavavel8] viewの基礎

[lavavel8] viewの基礎

ユーザーのブラウザで表示されるHTMLで構成されるviewを見ていきます。

viewファイルlaravelで使われるテンプレートのファイルは

resources/views/

のディレクトリの下に保存されています。

Laravelをインストールした直後には

resources/views/welcome.blade.php

が自動的に作られます。

基本的にはここのディレクトリにあるフ

もっとみる
[laravel8] 記事Modelとマイグレーション

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

ここからは今回作成するブログのの記事のModelとそのマイグレーションを作成していきます。

マイグレーションブログの記事を格納するpostsテーブルを作成するマイグレーションを作成します。

マイグレーションのファイルを作成するコマンド

$php artisan make:migration (マイグレーション名)

マイグレーション名は一般的には (動詞)_(テーブル名)_table のよう

もっとみる