Laravel 关联查询只获取管理对象的部分数据

        $user = UserAttribute::where('uid', $uid)->with([
            'attribute' => function ($query) {$query->pluck('title');},
        ])->get();

上边这段代码可以执行,但是仍然把关联模型attribute里所有的字段都查询出来了,并不是想要的只查询title

阅读 5.9k
2 个回答

可以在Model里select,但是id不能少,不然没有关联条件。

public function attribute() {
        return $this->hasMany('Attribute', 'attribute_id')->select('id','title');
    }
 $user = UserAttribute::where('uid', $uid)->with([
            'attribute' => function ($query) {$query->select('title')->pluck('title');},
        ])->get();

这样就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题