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数组。我不会更改标记
,因为我希望得到一个标记集合,因为它作为默认行为工作。对不起,我需要一点不同。我已经改正了我的例子。