I have two tables, User and Post. One User can have many posts and one post belongs to only one user>
Well I found the solution. It can be done one by passing a closure function in with() as second index of array like
Post::with(array('user'=>function($query){
$query->select('id','username');
}))->get();
It will only select id and username from other table. I hope this will help others.
Remember that the primary key (id in this case) needs to be the first param in the
$query->select() to actually retrieve the necessary results.*