Laravel 返回以选定方式关联的表的查询

Laravel 返回以选定方式关联的表的查询,laravel,Laravel,我有一个api,它可以像这样返回我的数据: [ { "id": 4, "user_id": 1, "titulo": "Lorem ipsum larabil", "categoria_id": 6, "created_at": "2020-10-30T10:33:08.000000Z", "up

我有一个api,它可以像这样返回我的数据:

[
  {
    "id": 4,
    "user_id": 1,
    "titulo": "Lorem ipsum larabil",
    "categoria_id": 6,
    "created_at": "2020-10-30T10:33:08.000000Z",
    "updated_at": "2020-10-30T10:33:08.000000Z",
    "categoria": {
      "id": 6,
      "parent_id": null,
      "nombre": "NombreCategoria",
      "slug": "nombrecategoria",
      "created_at": "2020-10-30T10:32:50.000000Z",
      "updated_at": "2020-10-30T10:32:50.000000Z"
    }
  }
]
控制器上的查询如下所示:

$encuestas = Encuesta::with('categoria')->where('categoria_id', $id)->get();
return $encuestas;
我希望查询只返回类别的id、标题和名称

我尝试过这样做,但没有成功:

$encuestas = Encuesta::with('categoria')->select('id', 'titulo', 'categoria')->where('categoria_id', $id)->get();

有人能帮我吗?

你可以用拉威尔

$encuestas=Encuesta::select('id','titulo'))
->带('categoria:id,nombre')
->其中('categoria_id',$id)
->get();
它应该返回如下数据

[{
“id”:4,
“提图洛”:“洛伦·伊普苏姆·拉拉拉比尔”,
“类别”:{
“nombre”:“NombreCategoria”
}
}]

查看文档:

对你来说,这将是:

$encuestas = Encuesta::with('categoria:id, title, name')->where('categoria_id', $id)->get();

这将返回空类别,并返回相同的结果
$encuestas = Encuesta::with('categoria:id, title, name')->where('categoria_id', $id)->get();