one to oneのinverseはモデルでhas oneではなく、belongToになる
class Post extends Model { // use SoftDeletes; protected $dates = ['deleted_at']; // protected $table = 'posts'; protected $fillable = [ 'title', 'content' ]; public function user(){ return $this->belongTo('App\User'); } }
Route::get('/post/{id}/user', function($id){ return Post::find($id)->user->name; });
mysql> select * from posts;
+—-+———+———-+—————————————————+———————+———————+———-+————+
| id | user_id | title | content | created_at | updated_at | is_admin | deleted_at |
+—-+———+———-+—————————————————+———————+———————+———-+————+
| 2 | 1 | PHP post | wow eloquent is really cool, look at this content | 2019-12-06 07:04:25 | 2019-12-06 07:04:25 | 0 | NULL |
+—-+———+———-+—————————————————+———————+———————+———-+————+
1 row in set (0.00 sec)
大体のケースはUser側から下にぶら下がるから、ユーザを呼び出す時は、belongsToを使うイメージですな。