我的博客 laravel 項目有很多帖子,每個帖子都屬于很多標簽?,F在我想檢索所有博客及其標簽并回顯每個標簽。這是我寫的代碼。有沒有更好的辦法?$posts = Post::with('tags')->get(); foreach ($posts as $post) { foreach ($post->tags as $tag) { echo "<pre> $tag->name </pre>"; } } die();
1 回答

米琪卡哇伊
TA貢獻1998條經驗 獲得超6個贊
Eager loading
您可以像在代碼中一樣獲取所有標簽。
$posts = App\Post::with('tags:name')->get();
foreach ($posts as $post) {
? ? foreach ($post->tags as $tag) {
? ? ? ? echo "<pre> $tag->name </pre>";
? ? }
}
這是正確的解決方案。
您甚至可以通過DB查詢來完成它以使其更快,但可能您的方式就足夠了。
$posts = App\Post::all()->pluck('id');
return DB::select('SELECT name FROM tags WHERE id in (' . implode(',', $posts) . ')');
最后提示:不要將 HTML 視圖與邏輯合并。
- 1 回答
- 0 關注
- 120 瀏覽
添加回答
舉報
0/150
提交
取消