laravelの説明メモ
参考:laravel7のマニュアル クエリビルダ
https://readouble.com/laravel/7.x/ja/queries.html
例は、DBから取得になっていますが、モデルから取得する場合も、使えるメソッドです。
first とか、orderByとか載ってます。
・ログイン中のユーザのユーザモデルを取得するときは、
1 |
$user = auth()->user(); |
・ビューに変数$userを渡すには、
1 |
return view('mypage', compact('user')); |
・ユーザの持ち物は、Userモデルに書く。
例:そのユーザの発言した投稿 Post であれば、
1 2 3 4 5 6 7 8 9 10 11 |
class User { ・・・・ public function posts() { $this->hasMany('\App\Post'); } } |
hasMany のときは、メソッド名を複数形にするのがポイントです。配列で取得するので、一つもないときは、空の配列となります。
hasOneのときは、単数形。一つだけなので、ないときはnullになります。
参考:リレーションのマニュアル
https://readouble.com/laravel/7.x/ja/eloquent-relationships.html
・テンプレート機能を使うとき、viewの名前には、.blade.php のように、blade を入れてください。
・$user->$posts としてしまうと、 $posts が変数だと指示しているので、定義されていないとエラーが出ます。$user->posts にしましょう。
・条件分岐は、 @if (条件)
以下のように使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@if ($user->posts->count() == 0) 投稿がありません。 @else @foreach($user->posts as $post) $post->title @endforeach @endif |
参考:Bladeの表記
7.x Bladeテンプレート Laravel
コメント