$post->user->name şeklinde Post modelinden User modeline erişmek için Post ile User arasında one-to-one (bir Post'un sadece bir User'a ait olduğunu varsayarsak) ilişkisi kurmanız gerekiyor:
// Post.php
public function user()
{
return $this->belongsTo(User::class); // İkinci parametre olarak foreign key belirtmediğim için Eloquent onu user_id olarak alacak. Eğer farklı ise ikinci parametre olarak ekleyebilirsiniz
}
Aynı şekilde User üzerinden User'a ait Post'lara (bir User'ın birden fazla Post'a sahip olduğunu varsayarsak) ulaşmak için one-to-many ilişkisi kurmalısınız:
// User.php
public function posts()
{
return $this->hasMany(Post::class); // İkinci parametre olarak foreign key belirtmediğim için Eloquent onu user_id olarak alacak. Eğer farklı ise ikinci parametre olarak ekleyebilirsiniz
}
Bu durumda:
$post = Post::find(1);
dump($post->user); // Post'un sahibi User
// ya da
$user = User::find(1);
dump($user->posts); // User'a ait tüm Post'lar