laravelで1対多を実現する方法

ユーザ1に対して投稿が多

*マイグレーション

 

 

外部キー制約(テーブルの整合性を担保する)

$table->foreign(‘ユーザのID’)->references(‘投稿ID’)->on(‘テーブル’);

$table->foreign(外部キーを設定するカラム名)->references(参照先のカラム名)->on(参照先のテーブル名);

モデル

app/User.php追記分

User

 

Userはいっぱい持ってるMicropostを

投稿

app/Micropost.php(namespaceなど省略)

 

Micropost がUserに所属してる

コントローラー

app/Http/Controllers/MicropostsController.php

 

$user->microposts()
ユーザモデルのmicropostsメソッド

app/Http/Controllers/MicropostsController.php追記部分(storeアクション)のみ

 

app/Http/Controllers/MicropostsController.php追記部分(destroy)のみ抜粋

 

app/Http/Controllers/UsersController.php showアクションのみ抜粋

 

 

コメント

タイトルとURLをコピーしました