【发布时间】:2021-04-27 20:08:56
【问题描述】:
我有一个多对多的关系。我需要获取所有带有父 ID 的标签。例如,它可能看起来像这样:
[
{ article_id: 1, id: 1, name: "tag 1" },
{ article_id: 1, id, 2, name: "tag 2" },
{ article_id: 2, id: 1, name: "tag 1" }
]
看标签 1 是两篇文章的两倍。可能我可以在循环内循环,但它看起来并不专业。你能告诉我这个问题的最佳解决方案吗?
@编辑: 我创建了这段代码:
public function articles(){
$article = [];
$allArticles = Articles::all();
foreach($allArticles as $key => $a){
$obj = new \stdClass();
foreach($a->tags as $t){
$obj->article_id = $a->id;
$obj->name = $t->name;
array_push($article, $obj);
}
}
return json_encode($article);
}
但它不像我想要的那样工作。它只为一篇文章显示一个标签,而不是全部。有什么想法吗?
【问题讨论】:
-
但是,您的代码并未表明 Laravel 建议的多对多关系的任何迹象。