Php lumen/laravel拔毛与关系不符

Php lumen/laravel拔毛与关系不符,php,laravel,eloquent,Php,Laravel,Eloquent,我有数据透视表空缺\u标签。我尝试了不同的选项(值、选择、列表等),但没有做得更远。我的请求: Vacancy::where('id',1)->with(['tags' => function ($q){ $q->select('tags.id')->pluck('id'); }])->get()->toArray(); 退回这个: "id" => 1, "title" =

我有数据透视表
空缺\u标签
。我尝试了不同的选项(值、选择、列表等),但没有做得更远。我的请求:

Vacancy::where('id',1)->with(['tags' => function ($q){
            $q->select('tags.id')->pluck('id');
        }])->get()->toArray();
退回这个:

"id" => 1,
"title" => "pm",
"tags" => array:2 [▼
      0 => array:1 [▼
        "id" => 1
      ]
      1 => array:1 [▼
        "id" => 2
      ]
但我们需要:

"id" => 1,
"title" => "pm",
"tags" => [
       1,
       2
]
我希望在查询中接收数据结果,如果可能的话,不使用集合的方法转换


PS:我稍微更正了这个示例,需要显示空缺的所有字段+一个标记数组。

如果要查找特定模型的关系属性,则应直接引用该模型,然后访问与关系相关的查询生成器实例

$tags = Vacancy::find(1)->tags()->pluck("id")->toArray();

请记住,
$outage->tags
将返回完整的集合,但是
$outage->tags()
为您提供了一个查询生成器实例,以便您可以直接从数据库中获取所需的内容。

我想我可以通过创建一个访问器
GetTagidAttribute()来实现这一点
然后
标记ID
将返回ID数组。我不会更改
标记
,因为我希望得到一个标记集合,因为它作为默认行为工作。对不起,我需要一点不同。我已经改正了我的例子。