Laravel
データを絞り込みたい // データの取得 $x_item = Xitem::get(); $this->aFunc($x_item); // $x_itemの中で条件が合致したものだけ行う処理 こんなふうに、一度データベースから取得したデータの内、一部だけを利用してデータを操作したい。 このときに、ク…
whereInの第二引数が空 function getUsersByIds(array $ids) { return User::whereIn('id', $ids)->get(); } こんな関数を書いたときに、$idsがもし []だったら? これでwhereが無いからって全件検索されたら、とんでもない障害に・・・ ですが、Laravelさん…
リクエストから、配列を作りたい $data = [ 'a' => $request->a, 'b' => $request->b, ]; こんな感じに、リクエストのキーと値がいい感じになってる連想配列が作りたい。 でも、 $request->all()みたいに、全部取りたいわけじゃない。 一部がほしいんだー!…
クエリビルダのプレースホルダ?? こちらを参照 www.nyamucoro.com プレースホルダの変数を合体? User::select('*')->where('id', '=', 3); User::select('*')->where('name', '=', 'ringo'); このときの中身には、SQLだけでなく、プレースホルダに入れる…
クエリビルダのクエリを見たい User::select('*')->where('id', '>', 3); こんな感じのクエリビルダで、実際に走るSQLを見たい。 toSql() User::select('*')->where('id', '>', 3)->toSql(); これで、実際のSQLが見れる。 select * where id > ? あれ?この …
プログラムの仕様変更が起こった ユーザのこの入力項目、必須のつもりだったけど、やっぱり必須じゃないように! という要件がやってきました。 DB側では、必須と想定して、nullableにしていなかったみたいです。 $table->tinyInteger('xxx') なるほど、では…
文字をいい感じに書き換えたい 頻繁ではないですが、 'xxx_yyy'のように、View側でスネークケースのものを、バックエンドで受け取ったときとか、 スネークケースをキャメルケースに変えたいときがあったら? あるいは、DBのカラム名でスネークケースのものを…
登壇したイベント laravel-shibuya.connpass.com 登壇資料 docs.google.com 登壇以外どうだった? 内容めっちゃ良かったですよ! こちらの方が上手くメモまとめてるので、是非参考に。 wand-ta.hatenablog.com ちなみに、先にIRT(机で輪っかになって討論・お…
明日LT登壇します! laravel-shibuya.connpass.com こちらの勉強会で5分LTしますー! 登壇資料 docs.google.com 内容 ■初心者 →call, callStatic関数を知る ■上級者 →ソースコードを『どこまで読み飛ばすか』という話題 スライド作成裏話 初心者より、目に見…
バグの解決依頼が来ました 今日の私のお仕事は、既存でバグが起こってるっぽいから、直して!ってお話! さあ、何が起こってるのかな〜? csrfトークンが一致しないよ IlluminateSessionTokenMismatchException なるほどなるほどー? これは、Laravelの機能…
Collectionの多重構造を作りたい Eloquentでgetすると、Collectionの中にモデルクラスとか、Collectionの中にCollectionとかがあったりする。 多重構造を作るときにはどうする? ちなみにこれが動かなくて詰まったお話。 new Collection($collection); newの…
Laravelの関数見たら疑問を持ちました $sorted_user = $users->sortBy('sort_number'); $sorted_user2 = $users->sortBy(function ($user) { return $user->sort_number; }); dd($sorted_user == $sorted_user2); //true あれ?なんで、第一引数が、文字列だ…
テストコードでdataProviderを使いたい テストコードを書いているときに、dataProviderを使うことで、 テストパターンをシンプルに作りたい。 dataProviderでヘルパ関数が使えない public function XxxDataProvider() { return [ 'value' => factory(User::c…
こんなコードがありました public function XXX() { return app('key_class')->make(); } テストコードが2種類 $mock = Mockery::mock('XxxService')->makePartial(); $this->app->instance('key_class', $mock) $mock = Mockery::mock('overload:XxxService…
Laravel JP Conferenceの記事です 前夜祭感想・参加のすすめ 登壇時のお話 他の登壇・交流のお話(ここ) Laravel JP Conferenceって? https://conference2019.laravel.jp/conference2019.laravel.jp PHPのフレームワークであるLaravelをメインテーマとした技…
Laravel JP Conferenceの登壇記事です 前夜祭感想・参加のすすめ 登壇時のお話 (ここ) 他の登壇・交流のお話 Laravel JP Conferenceって? https://conference2019.laravel.jp/conference2019.laravel.jp PHPのフレームワークであるLaravelをメインテーマと…
登壇してたあいつです! 皆さんこんばんは、はじめましての方はじめまして! いつも見てくださってる方、いつもありがとうございます(´;ω;`) https://conference2019.laravel.jp/ では、コントリビュート怖くないよ!って話してた新卒二年目の人です!(わ…
まずお詫びです 今日コード読んでいたら、この記事で書いたこと間違っていました!!! www.nyamucoro.com どう違うかは、該当記事で説明させていただきます。 Collectionのpluckと、クエリビルダのpluck? クエリビルダでgetした後にできるCollectionに対し…
コードを書いていたらタグを直書きそうになった const HTML_TAG = '<p>hogehogefugafuga</p>'; const LONG_TAG = <<<EOL <ol> <li>hoge</li> <li>fuga</li> <li>piyo</li> </ol> EOL; こんな感じの書いてた。 いやいや、それよりもいいのがあるだろと。 bladeに移そう xxx.blade.php <ol> <li>hoge</li> <li>fuga</li> <li>piyo</li> </ol> 呼び出…
jQueryでajax使ったpost Laravelは、csrfのトークンをpost処理に入れないと、postをすることが出来ないです。 JavaScript(jQuery)使ってpostするときは、なんとかしてそのトークンを混ぜないといけない。 でも、それを毎回JavaScriptに書くのは面倒・・・ aj…
サービスプロバイダーのファイル名迷う インターフェースの実装のためにbindとか、サービスプロバイダーでいろいろやることはあると思いますが、 全部AppServiceProviderのみにするかとか迷いますよね。 で、PHPユーザー会の方に質問したら、わかりやすい説…
遅延プロバイダの開発してました サービスプロバイダを新しく定義する開発をしていました。 そのサービスプロバイダは、インターフェースと実装をbind結合させるだけの簡単なものだったのですが・・・ レビューしたら、動かない。コード書いた人はテストして…
こんなときに使う Laravelのバリデーションのときに 'name' => 'string', 'age' => 'numeric' こんな感じにバリデーションをかけたとき。 これ、値が空にして送信されたら、nullが来ますね。『文字列じゃないよ!』ってエラーが出ます nullableを追加する 'n…
まずお詫びです コード読んでいたら、この記事で書いたこと間違っていました!!! 訂正記事書きました。 www.nyamucoro.com 間違い内容 EloquentのCollectionと、SupportのCollectionが異なるのは間違いないですが、 このpluckの違いは大きく差はなく、 Elo…
ide-helperの導入 ide-helperなるものが作られているので、それを使ってみましょう。 composerで一個追加して、コマンド一つで出来ますよ! github.com composerに追加 composer require barryvdh/laravel-ide-helper これで、ide-helperを作るためのツール…
プルリク github.com 内容 以前書いた記事で内容を書いています。 クエリビルダのorderByで、desc ascを誤字した場合、強制的にdescになるものです。 www.nyamucoro.com ことの流れ 私がコードレビューでたまたま仕様見つける 友人達と雑談する 友人が食付き…
Laravelでメソッドジャンプなぜ出来るー メソッド名をクリックしたりすると、該当の関数をすぐ開けるとかよくありますよね。 なんで出来るんだろう?コードを追って出来るのもあるけど、 どうやらこういうファイルもあるらしい。 _ide_helper.php composer i…
Laravelの元コード読んでみた github.com この該当コード、ここらへん読むと、aliasが書かれてる。 ヘルパ関数の引数とかの挙動は? github.com ここで処理してるよ。 私がLaravelコントリビュートしたのも、ここのコードの修正だよ。 ぼそっと .oO(昨日、ま…
概要 XxxService public function func($flag) { if($flag) { return $this->user_repository->xxx(); } return $this->user_repository->yyy(); } こんなとき、xxxとyyyが読み込まれる場合をチェックしたい コード public testFunc($flag, $function_name) …
モデルインスタンスのフィールド値を変えた public function __construct(User $user) { $this->user = $user; } public function updateUser() { $this->user->timestamps = false; // update_atを更新させない $this->user->where('id', '=', $user_id) ->…