Laravel, PHPLaravel, PHP, Rule, Validation, バリデーション, 年月, 年月日, 日付関数

結論

PHP に checkdate() 関数が用意されてました…。

PHP: checkdate – Manual

言い訳

年月日、もしくは年月のみがパラメーターで渡されてくる場合に、年月日として有効かどうか?のパリデーションをかけたかったわけです。

で、Carbon とかで用意されてる…よね? とか思っていろいろ探してたら見つからなくて、PHP ...

LaravelCSV, Excel, Laravel, Laravel-Excel, PHP, Shift_JIS, UTF-8, エクスポート, ダウンロード, 文字化け

結論作成した HogeExport クラスに getCsvSettings() で CSV の設定を用意しておく。
忘れずに WithCustomCsvSettings を implement する。

2つ目を忘れてると、getCsvSettings() 用意しておいても無視されて気づかないのです…。

詳細

Excelで csv ファイルを開いたときに文字化けする現象で ...

Laravelartisan, composer, migration, PHP, Queue

結論作成された migration ファイルを普通に削除する
composer dump-autoload 実行
もっかい作る
詳細php artisan make:migration add_new_columns_to_user_table

とか実行した後に、「あ、しまった、 --table 指定するの忘れたー!」と思って再作成。

すると

failed ...

Laraveldebug, Laravel, PHP, Queue, Worker, バッチ処理, ブレークポイント

結論

QUEUE_DRIVER=database にしておけば failed_jobs テーブルの exception カラムに StackTrace が記録されるので、そこから辿るべし。

詳細

Queue に突っ込んだ処理をデバッグしようとしても全然言うこと聞いてくれない。

ブレークポイントが効かないので、仕方なく Log::debug() したりもしたんだけれど、何も ...

LaravelEloquent, Laravel, PHP

結論

DB::table() ->leftJoin() で第二引数にクロージャーを渡せるので、その中でフィルタ的な処理を書き込む。

詳細

ユーザーが投稿した記事の一覧を取得する際はこんな感じで LEFT JOIN を指定。

$users = DB::table('users') ->leftJoin('posts', 'users.id', '=', 'posts. ...

LaravelEloquent, Laravel, PHP

結論

ありがちなのが、

{{ $user->getFirstName() }}

の $user->getFirstName() で、なぜか配列(文字列ではなく)が返ってきていた、というヤツ。

詳細

「これ、なーんかあったよなー…🤔」

って毎度悩むのでメモ。

bladeでこのエラーが発生すると、妙に場所の特定が難しいんですよね…。

Laravel1対n, 1対多, DB, Eloquent, Laravel, PHP, QueryBuilder, クエリビルダ, サブクエリー, リレーション, 多対多

結論

Post と Comment (1対多の関係)を例にすると、

コントローラーからフツーに $posts を view に渡して…。

blade のループ内で

@forelse($posts as $post) <div>{{ $post->title }}</div> <div>{{ $post->commen ...

Laravel1対1, 1対多, DB, Eloquent, Laravel, リレーション

結論

blade ファイルの中で @foreach と @empty を一緒に使ってません?

誤)

@foreach($posts as $post) <span>{{$post->title}}</span> @empty <span>該当データがありません</span> @endforelse

正)

@for ...

Laravel1対1, 1対多, DB, Eloquent, Laravel, リレーション

結論

どっか間違ってるんで再確認を。自分の場合は hasOne() を設定するメソッド名を複数形にしてました…。

詳細

Laravel-Admin 導入しておりまして、最初に hasMany だったリレーションを hasOne に変更したんです。

この場合、公式ドキュメントにあるように、Laravel-Admin 用のコントローラー内で

$form->text ...

PHPNull, PHP, 空判定

PHP 7.2.9 にて調査。

*1:「Notice: Undefined variable」が発生。