add hasMany property
public function posts(){ return $this->hasMany('App\Post'); }
route
public function posts(){ return $this->hasMany('App\Post'); }
hasOne, hasManyいずれにしてもモデルでプロパティを定義する必要があります。
mysql> select * from posts;
+—-+———+————–+————————–+———————+———————+———-+————+
| id | user_id | title | content | created_at | updated_at | is_admin | deleted_at |
+—-+———+————–+————————–+———————+———————+———-+————+
| 1 | 1 | php has many | learning has many method | 2019-12-06 13:19:29 | 2019-12-06 13:19:29 | 0 | NULL |
| 2 | 1 | php has many | learning has many method | 2019-12-06 13:20:01 | 2019-12-06 13:20:01 | 0 | NULL |
+—-+———+————–+————————–+———————+———————+———-+————+
Route::get('/posts', function(){ $user = User::find(1); foreach($user->posts as $post){ echo $post->title . "<br>"; } });
hasManyの場合は、レコードが複数の為、returnではなく、foreachを使う