I have two tables, User and Post. One User can have many posts and one post belongs to only one user>
User
Post
posts
post
user>
Try with conditions.
$id = 1; Post::with(array('user'=>function($query) use ($id){ $query->where('id','=',$id); $query->select('id','username'); }))->get();