Laravel
SpringBoot始めました ちょっと気になってたSpringBoot。 最近Javaが出来る人が近くに増えたので、教えてもらうことにしました! ということで、まずは環境構築をしてみました。 環境構築 やったことは、こちらの記事を参考にして始めました。 qiita.com 私…
View Composerという機能 Laravelには、View Composerという機能があります。 readouble.com 便利なのですが、いつ使ったらいいかな?っていう記事がなかなか見つからず、 PHPユーザーズの方々に教えてもらって、何となく自分なりに理解したことをφ(・・ View …
サイト速度のためにファイルを小さくする? ファイルを合体させます。加えて、改行など動作に無駄なものを削ります。 よく、ライブラリとかで ○○.min.jsとか見たことがあると思います。 そして、これらが一行の長いファイルだったのをみたことがあると思いま…
もうそろそろ年越しですね。 皆さん、忘年会には行かれましたか? 私は会社の同僚とお酒を飲みに行ったのですが、普段は混んでないお店でしたがまーあ混んでました。 先週が長期休暇前を除く、最後の金曜日だったからからかもしれませんね。 さて、10連休に…
orWhereを何も考えずに書いた悲劇 何気なく書いたクエリビルダ。 何も考えずに書いたorWhere。そこに悲劇が。 orWhereの順番を入れ替えてみた \App\Models\User::select('id', 'name') ->where('status_id', 1) ->orWhere('id', 2) ->where('status_id', 3) …
Modelクラスで値を取るのは3種類ある? $user->category こんな感じに値を取る時に、Modelクラスは何をしているでしょう。 この時の値の取得方法は、3種類くらいあります。 そして、それぞれ優先度があります。 優先度の高いものがあれば、それを返して、な…
Laravelアドベントカレンダー12日目 Laravel Advent Calendar 2019 - Qiitaの 12 日目の記事です。 先日はおかしょいさんの日本の Laravel 関連コミュニティまとめでした blog.okashoi.net さて、アドベントカレンダー12日目を取り続けてもう3年目です。 1年…
配列でinputタグを作った <input name="xxx[0][name]"> こんなふうに配列でnameを作成すると、取得時も配列で手に入る! さて、 old('xxx[0][name]')って書いて・・・あれ、動かない・・・ oldはドットで繋ぐ old('xxx.0.name') こう書くのね・・・元コード追ってようやく気が付きました…
pluckで、独自フィールドを使いたい public function getDisplayUsernameAttribute() { return $this->nickname ?? $this->username; } こんな感じに、display_usernameという値を使いたい。 ニックネームがなければ、ユーザーネームを出すという挙動。 これ…
FormRequestクラスで、複雑なバリデーションをしたい このリクエストしか使わないので、独自バリデーションを作りたくない かといって、Controllerとかで受け取って処理するのは、別の場所に関心を増やすから嫌だってことで。 インスタンス取得時に追加 /** …
独自コマンドを作った 独自コマンドで以下の様にオプションを設定した。 protected $signature = 'command:xxx {--ids=*}'; これをコンソールで実行するときは php artisan command:xxx --ids=1 --ids=2 --ids=3 これを他のphp上でで呼び出したいが、どうや…
今日行われるイベントを取得したい 今日(2019-11-28)のイベントをDBから取得したい。 じゃあSQLで whereを使って、今日と等しい値を取ればいいかというと、 時、分、秒の都合で、今日と等しい値を取るのは難しい では間を取ろう なので、今日の最初と最後の…
あるデータの個数を調べたい DBのデータの個数を調べたいときはあると思います。 ある条件で絞ったときの、対象のレコード数とか。 データ取得後なら? $users = \App\Models\User::get(); $users->count(); こんなふうに、データを取って、取った値をカウン…
ヘルパ関数を使う route('user.mypage', ['id' => 1]); これのテストコードを書きたい。 動かないコード こんな感じの書いた時、routeはURLファサードで動くので、こうなる気がする URL::shouldReceive('route') ->with('user.mypage', ['id' => 1]) ->once(…
サービスコンテナでbind $this->app->bind( 'App\Services\XxxServiceInterface', 'App\Services\XxxService' ); public function __construct(XxxServiceInterface $xxx) { $this->xxx = $xxx; } これでbindしておいたのに、XxxServiceInterfaceがインスタ…
Hasher github.com LaravelにはHasherという機能があります。ハッシュ化のクラスです。 バージョンアップ 5.6から、Hasherのインターフェースにinfo関数が追加されました。 クラスの拡張するなら、これも拡張したい。ってことでどう拡張するか。 元コードの…
改行を使いたい 画面に文字を表示させたい。 このとき、DBなど外部から改行の入った文字が取得出来たとする こんにちは はじめまして これをHTMLとして出力するときに、 <p></p>とするとどうなるか。 <p>こんにちは はじめまして</p> HTMLの改行は意味がないので こんにち…
元ネタのLaravelニュース laravel-news.com 簡単admin画面作成 composer require laravel-frontend-presets/NowUi php artisan preset nowui これで、Bootstrap4で作られた、adminテンプレートが出来上がります。 php artisan migrate --seed こちらで、基本…
アプデ laravel-news.com 6.0から追加された、LazyCollectionというクラスに、新しく eager()が追加されました。 どんなことが起こる? github.com @return static` なので、LazyCollectionが返されます。 そして、eagerが呼び出された時点での中身を使用し…
今までの変更 \Blade::setContentTags('[%%', '%%]'); \Blade::setEscapedContentTags('[-%%', '%%-]'); こうすると、 {?? ??}みたいなタグを {%% %%}に置き換えたりできました。5.3まで。 用法としては、別なテンプレートエンジンや、JavaScriptで {{}}を置…
入力が空だとバリデーションが動かない Validator::extend('required_if_xxx_and', function($attribute, $value, $parameters) { // なんらかの処理追加する // 通常のrequired_ifをする $param_required_if = implode(",", $parameters); $result_for_requ…
これはメモです ってことで、改めて後日まとめるかもしれないです。 PHP 7.0->7.1 countの引数 count関数の引数がnullを受け付けなくなりました。 nullが来た場合、配列を入れてくださいってエラーが出ます。 Laravel 5.2->5.3 Paginator.phpのpresenterが消…
DBの値をVueで扱いたい <ul v-for=items> <li></li> </ul> こんな風にfor文とかでVueを使って値を回したい。 でも、Vueからデータベースの値を取ることはできない。 ということで、Laravelなどバックエンドから値をとってきて、Vueに渡してやる必要がある。 ではどうやるのがいいか。 今の…
現状一つ悩みがありました リポジトリパターンと呼ばれる、永続化したデータを取得・操作する際に、 Repositoryクラスに集約させるようなやり方があるのですが、 Eloquentのchunkメソッドを使って取得するときに、取得中に別な作業をさせようとすると、 Repo…
Eloquent使って、saveがしたい! function saveName(\App\Models\User $user) { $user->name = "ringo"; return $user->save(); } このコード、怖い!!! なぜか? もし、$userにすでに別な値がセットされてたら? public updateUser() { $user = User::fin…
DBの保存に一手間追加したい フォームの入力などで取得したデータを、ちょっと変形させてからDBに保存したい。 でも、コードの途中を変更することは困難だったり(オレオレフレームワークとか)、 該当カラムは必ず変形させたいとかがあったとします。 私だと…
routeで引数に取る型を決めたい /profile/1とか、 /profile/3とかでURLを決めたい。 でも、 /profile/aaとかは404にしたい。 呼び出し先の関数で、 abort(404)とかでもいいけど、 どうせならそもそも数値だけをrouteに設定したい。 whereで固定する Route::g…
DBのカラムにコメントをつけたい カラムにコメントをつけたい。 カラム名だけだと、伝わらないってときに、MySQLのカラムにコメントを付ける事ができます。 では、それをLaravelのマイグレーションでどのように実装するか coment() Schema::create('users', …
Laravelは認証機能簡単に作れます Laravelには標準機能として、認証に関わる機能が作れます。 ですが、最初のページには当然ないので、それを作成する必要があります。 php artisan make:auth 手元に新しくLaravelで作ったサイトがあれば、以下のコマンドを…
Laravel.shibuya? laravel-shibuya.connpass.com こちらのイベントですー! 私は、Laravel Beginner IRTの司会を担当していました。 イベントまとめ資料 当日話題になったのを簡単にスライドにまとめました。 Laravel shibuya 3 Laravel Beginner IRT from O…