自動化無しに生活無し

WEB開発関係を中心に備忘録をまとめています

  • 【Request】Laravelでリクエストのバリデーションを行う【不適切なデータのチェックに】

    コードはLaravelで検索とページネーションを両立させる【ANDとOR検索も】から流用している。現状では不適切な値(文字数オーバー、未入力等)をサーバーに送信すると、そのまま例外処理が発生する。バリデーションを実装させ、例外ではなく前のページにリダイレクトさせる。 対象はlaravel 7.x。 方法は主に2種類ある。コントローラー上にバリデーション処理を設置する方法、フォームリクエストを生成してバリ ...
  • Laravelで検索とページネーションを両立させる【ANDとOR検索も】

    タイトルの通り。laravelにてAND検索とOR検索を実装させつつ、ページネーションも両立させる。コードはlaravelでCRUD簡易掲示板を作る【Restful】から流用している。 まずはAND検索とOR検索を実装させる 流れ的には、スペース区切りのキーワードを送信させ、それをコントロール側で区切り、クエリをビルドする。クエリをビルドする時、AND検索指定であれば、where()の追加、OR検索指 ...
  • Laravelで画像とファイルをアップロードする

    タイトルの通り。単にアップロードするだけでなく、MIME属性に基づいたファイルのバリデーションを行い、セキュリティにも配慮する。 なお、本記事はLaravelで検索とページネーションを両立させる【ANDとOR検索も】からコードを流用している。 流れ テーブルに画像パス格納用カラムを追加してマイグレーション モデルに画像パス格納用カラムの名前を追加する バリデーション用のフォームリクエストを定義する コントロー ...
  • 初心者でもlaravel 7.x を使い、45分でCRUD簡易掲示板を作る【Restful対応】

    リハビリがてらlaravelでCRUDに対応した簡易掲示板を作る。この記事の手順に沿ってやれば、45分もあれば作れる。 本記事ではlaravel 7.X系を使用している。 流れ プロジェクトを作る DBはSQliteを読み込むように設定する Restful対応コントローラーを作る ルーティングの設定 モデル定義とマイグレーション実行 リクエストを作る ビューを作る コントローラーの修正 タイムゾーンの修正 プロジェクトを作 ...
  • laravelで開発中、ログを表示させる【エラー箇所の確認・デバッグ作業に】

    laravelではDjango(Python)のように処理の途中でprint()を実行してターミナルにログを表示させることはできない。代替として使用されるのがLogファサードを使用する方法である。 Logファサードを使用してログを表示させる 下記コードを任意の場所に書き込む。 \Log::debug("ログ"); 内容は全てstorage/logs/laravel.log内に保存される ...
  • Laravelのartisanコマンドのまとめ【開発用サーバー立ち上げ、コントローラやマイグレーションファイル等の作成、ルーティングの確認などに】

    laravelのartisanコマンドをよく使うと思われる順にまとめる。 開発用サーバーを立ち上げる php artisan serve ホスト名とポート番号の指定もできる。 php artisan serve --host=[ホスト名] --port=[ポート番号] コントローラーを作る php artisan make:controller [コントローラー名] –resourceをつけると、Restful化もできる php artisan make:controller [コントローラー名] --resource モデルを作る php artisan make:model [モデル名] –migratio ...
  • laravelコマンドをUbuntuで実行可能にする方法

    laravelで新しいプロジェクトを生成するとき、 composer create-project --prefer-dist laravel/laravel [プロジェクト名] このように実行するのだが、とても長い。 laravel new [プロジェクト名] そこで上記コマンドを実行しようとしてもlaravelコマンドがインストールされていないと言う。laravelコマンドを使えるようにするにはまずはcomposerからのインストールが必要。 composer global require "laravel/installer" そしてその上で、~/.bashrcにてパスを通す。~/.bashrcの ...