我正在尝试使用他/她的帖子返回特定用户的(JSON)字符串。但是,Post模型包含几个API实现不感兴趣的列,我想从结果中排除这些列。
为什么在Posts关系中,以下内容仍然没有返回任何列 我已经尝试了多种方法来检索Post模型上的特定列。
$result = User::with([
'posts' => function($q) {
$q->addSelect('title', 'tag');
}])
->where(['api' => 1, 'id' => $id])
->first(['id', 'username', 'role']);
return $result;
倾倒
$q->get()
显示我想要的内容,但返回的$ result不包含Post模型中的任何列。
我的Laravel版本是5.2
答案 0 :(得分:0)
尝试将addSelect
更改为select
$result = User::with([
'posts' => function($q) {
$q->select(['title', 'tag', 'user_id']); // You might have to also include `user_id` here
}])
// ->where(['api' => 1, 'id' => $id]) change this
->where('api', 1)
->where('id', $id)
->first();
return $result;
因为addSelect正在向现有选择中添加项目,而不是在select中指定您真正想要的内容。