如何正确完成此分解和比较查询? Laravel 5.3

How do I complete this explode & comparison query properly? Laravel 5.3

我正在尝试获取这串标签并遍历它以在另一个 table 上获取相应标签的列:

1A-3,1-1,1-2,3-4,4-6,4-8,6-13,6-15,8-6,8-11,7A-4,7A -5,7A-6

检查对象:

    $ministry = AgencyLogin::find(196);
            $prefs = $ministry->Ministry_Preferences;
            $tags = explode(',', $prefs);
            foreach ($tags as $tag) {
                $sub_categories[] = DB::table('descriptor')
                ->where('tag', $tag)
                ->select('subcategory', 'description')
                ->first();
            }
//dd($sub_categories);
return view('agencydash', compact('sub_categories'));

dd($prefs) 打印正确的字符串。 $sub_categories[] 永远不会转换为实际的数组,因此不能像一个数组那样进行解析,而我在 Laravel 方面的有限经验意味着我不知道如何将这样的查询转换为数组而不是当前的数组它是什么,一个对象。

dd($sub_categories) 在我将其视为一个对象后打印出一个看似随机的结果:

{#262 ▼
  +"subcategory": "SUPPORT ROLE"
  +"description": "Project Management"
}

我一直在稳步自学 Laravel 和 php,所以像这样的问题会引发更多问题,然后我才能回答。 有人知道我错过了什么吗?

为什么要遍历 $tags 而不是使用 whereIn 方法并获取相关行的整个集合?

$ministry = AgencyLogin::find(196);
        $prefs = $ministry->Ministry_Preferences;
        $tags = explode(',', $prefs);
        $sub_categories = DB::table('descriptor')
            ->whereIn('tag', $tags)
            ->get(['subcategory', 'description']);
//dd($sub_categories);
return view('agencydash', compact('sub_categories'));

Docs