LaravelEloquent, Laravel, PHP

結論

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

詳細

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

ただし、この場合だと LEFT JOIN (テーブル名) ON (条件式…)の条件式部分に1つの条件(通常はキーカラムをマッチさせる)しか指定で ...

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 ...

LaravelCSRF, debug, デバッグ, トークン

CSRF トークンが正しく渡っていない可能性が高いのだけれど、他の原因も考えられるしなぁ…。という場合は、とにかく

vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php

でプレイクポイント設定して、トークンの値がきちんと渡っているか?を確認した方が早 ...

Laravel, Vue.jsBlade, Javascript, Laravel, PHP, Vue.js, , 日付

現象

“1980/12/12” って日付を渡してるはずなのに Vue 側で 13.75 とか表示されてしまう。

結論

計算式として 1980/12/12 が評価されてた。( 1980 ÷ 12 ÷ 12 = 13.75 )

詳細Blade側<mycomponent :birthday={{$birth}}></mycomponent&g ...

LaravelDate, Eloquent, Laravel, PHP, TimeStamp, 日付

課題

日付のフォーマットを YYYY-MM-DD から YYYY/MM/DD に変更したい。

結論

モデルのDateフォーマットを↓こんな風に設定しても、うまくいかずエラーになってしまう。(MySQL ・ PostgreSQL ・ SQLite で試してみたけれど変わらず)

protected $dateFormat = 'Y/m/d H:i:s';

画面上の出力形式を変更 ...