タグ

ブックマーク / laraweb.net (10)

  • Laravel6でBasic認証(Laravel標準機能) - Laravel学習帳

    以前、Laravel5でベーシック認証を作成したのですが、Laravel6では使えなくなりました。 ただ、Laravel6ではデフォルトでベーシック認証が用意されているので、今回はそちらを使ってみます。 デモ デモサイト 【ベーシック認証】id:test@example.com / pass: testtest 手順 1.ログイン認証機能の作成 ベーシック認証を通すアカウントとパスワードはDBテーブルの usersテーブル のレコードになります。 デフォルトでusersテーブルを生成するマイグレーションファイルがあるので php artisan migrateコマンドを実行すると生成されます。 ただ、ベーシック認証用のレコードを挿入する必要があるので、今回はログイン認証機能を作成することにします。(※シーダーで挿入してもOK) Laravel6のログイン機能の作成は以前にエントリーしました

  • Laravelでメンテナンスモード(503) - Laravel学習帳

    Laravel ではデフォルトでメンテナンスモードが装備されています。 メンテナンスモードの実行は artisan コマンドで実行します。 php artisan down 実行結果 メンテナンスモードから通常モードに戻すときは php artisan up 実行結果 簡単ですね。このように Laravel では即時にメンテナンス画面に切り替える仕組みが用意されています。 今回はここから一歩先に進んで をやりたいと思います。 指定したIPアドレスだけメンテナンス画面をスキップ メンテナンス画面を表示するときはシステムの改修作業をするときですね。 このときに開発チームだけ普通の画面が閲覧できると便利です。 手順 1)ミドルウェアの作成 2)ミドルウェアの編集 3)カーネルの登録 4)動作確認 1)ミドルウェアの作成 メンテナンスモードはミドルウェアでやっています。 デフォルトのクラスは

  • 結合してカラム名が被ってしまったケース - Laravel学習帳

    テーブルを結合するとよくカラム名が被ったりします。 特によく多いのが「id」や「name」です。 今回は、テーブル間を結合した際にカラム名が被ってしまったケースについてエントリーいたします。 状況 データーベース 部署テーブル:depts 従業員テーブル:employees 【 ポイント 】 両テーブルにあるカラム「id」と「name」が被っています。 この状態で結合するとどっちの「id」「name」なのか判別できなくなります。 やりたいこと 部署IDでテーブル間を結合。従業員IDと従業員の名前を表示したい。 問題 public function select(){ $employees = \DB::table('employees') ->select() ->leftJoin('depts', 'employees.dept_id', '=', 'depts.id') ->get()

  • リレーション先のテーブルに条件をつけて取得するケース(whereHas) - Laravel学習帳

    Laravelで開発をしている中で、リレーション先のテーブルのカラムに対して検索をかけたいことが発生しました。 これが結構はまってしまいました。 今回は「リレーション先のテーブルに対して検索をかけたい」ケースついてエントリーします。 状況 データベース 部署テーブル:depts 従業員テーブル:employees モデル class Dept extends Model { //hasMany設定 public function employees() { return $this->hasMany('App\Employee'); } } class Employee extends Model { //belongsTo設定 public function dept() { return $this->belongsTo('App\Dept'); } } やりたいこと 1階で働いている

  • サービスプロバイダーについて - Laravel学習帳

    前回、Laravelのサービスコンテナについてエントリーしました。 サービスコンテナについて 上記の記事にあるチュートリアルでは routes.php にサービスコンテナの結合処理(バインド)を記述しました。 しかし、普通はサービスコンテナの結合処理はこのサービスプロバイダーに記述します。 サービスプロバイダーとは、Laravelが起動する時の初期処理を記述したクラスのことを言います。 今回はサービスプロバイダーについてエントリーします。 サービスプロバイダーとは Laravelはサービス毎に初期処理を定義し、実行する仕組みを持っています。 初期処理の実装を行うクラスのことをサービスプロバイダーと言います。 サービスプロバイダーでは以下の役割を果たします。 チュートリアルでは「サービスコンテナへのバインド」についてフォーカスします。 チュートリアル サービス(Utilクラス)を作成してサー

  • LaravelでレスポンスをJSON形式で返す - Laravel学習帳

    変数名(name や gender)はダブルクォーテーション( " )で囲みます。JavaScript ではシングルクォーテーション( ' )で囲んだり、変数名をそのまま記述することができますが、JSONではダブルクォーテーションのみです。 オブジェクト JSONの多くの場合、次のように「キーと値」のペアで成り立っています。 「キーと値」は "キー":"値" というようにコロン(:)で区切られます。 そして、ペアとペアの間はカンマ(、)で区切られます。 全体は {...} で囲まれます。 この {...} をオブジェクト(形式)と表現します。 { // 以下オブジェクト "user_info": { "name": "山田 太郎", "gender": "男", "mail:": "yamada@test.com" } // オブジェクトEnd } 配列 値を角括弧( [...] )で囲み

  • Laravel5.2で削除機能をつける - Laravel学習帳

    データベースの基操作はCRUD(Create, Read, Update, Delete)と呼ばれます。 これまでのチュートリアルで、Create、Read、Updateをやりました。 今回はCRUDの最後であるDelete処理をやります。 レコードの削除 レコードの削除処理は簡単です。処理の大まかな流れは以下のようになります。 1 ) findOrFailで送られたパラメータのIDのレコードをModelインスタンスとして取得 Modelインスタンス = モデル::findOrFail($id); 2) Modelインスタンスに対しdeleteメソッドを呼び出す Modelインスタンス ->delete(); これでパラメータ($id)で指定されたレコードが削除されます。 隠しメソッドについて 前回、編集画面を作成するときにフォームからの入力データをpatchメソッドでリクエストを発行し

  • migrationの操作(データ型の変更) - Laravel学習帳

    DBの変更についてはXAMPPについているphpMyAdminでもできます。 ただLaravelを使っているならマイグレーション機能を使ったほうが保守の面で便利になります。 今回はDBテーブルのカラムのデータ型をマイグレーション機能を使って変更してみます。 やりたいこと 'path'カラムのデータ型を varchar(255) 型からtext型に変更 手順 【1】“doctrine/dbal” パッケージをインストール 【2】マイグレーションファイル作成 【3】マイグレーションファイルの編集 【4】 マイグレーション実行 【1】“doctrine/dbal” パッケージをインストール カラム名変更には“doctrine/dbal” パッケージが必要になります。 composerでインストールします。 composer require doctrine/dbal 【2】マイグレーションファイ

  • DBの操作について(一覧表示&ページネーション) - Laravel学習帳

    チュートリアル初級「フォームからDBに挿入」のラストです。 今回は従業員テーブル「workers」の一覧表をします。 まずは Eloqunet による全データ取得のやり方について学習します。 構文 一覧表示の基は以下のような構文になります。 例)Userモデルで全データを取得 $users = App\User::all(); ビューでのカラム値に対するアクセスは以下のように書きます。 <div class="container"> @foreach ($users as $user) {{ $user->username }} / {{ $user->mail }} / {{ $user->age }} @endforeach </div> Eloquentではallメソッド以外にもいくつかのメソッドが用意されています。 例)最新データを上にしてソート(降順) $users = \Ap

  • 命名規則について - Laravel学習帳

    スムーズに開発を進めるためにも命名規則に沿って名前をつけることは大事です。 Laravelでは他のフレームワークに比べると命名規則は厳しくないと言われています。 しかし、いくつかの作法があるのも事実です。 Laravelをはじめて学習する方は最初にここを抑えておくと、プロジェクト全体に統一感が出ていいかもしれません。 今回は命名規則についてのエントリーです。 INDEX 複数の単語を組み合わせる場合 プログラミングにおいて複数キーワードの名前の付け方としてアッパーキャメル記法、ローワーキャメル記法とスネーク記法という記述方法があります。 アッパーキャメル記法 先頭を大文字で書き始め、複合語のスペースをなくし要素の先頭を大文字にします。 (※パスカルケースとも呼びます。) [例] user + parameter ⇒ UserParameter 文字のラインが凸凹になっており、ラクダのこぶの

  • 1