Вы выбираете все данные из коллекции. вот почему вы также получаете нежелательные данные в вашем объекте
в вашей текущей ситуации (без изменений в скрипте контроллера) вы можете получить доступ к этим данным как:
public function index(Request $request)
{
if ($request->ajax()) {
return Post::with(['user' => function($query){
$query->select(['id', 'name'])
}])
->select(['id', 'title', 'description'])
->get;
}
}
если вы делаете это в вашем контроллере, то в вашем файле vue,
data:function(){
return{
posts: [],
};
},
methods: {
getPosts ()
{
return axios.get("/posts")
.then(response => {
this.posts = response.data;
});
}
},
и в компоненте:
<div class="sl-item" v-for="post, index in posts">
<a href="javascript:void(0)">
<div class="sl-content">
{{post.title}}
<br>
------------------------
<br>
{{ post.user.name }}
</div>
</a>
</div>