我正在尝试获取这个标记字符串,并遍历它以获得另一个表中相应标记的列:
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,所以像这样的问题会打开更多的问题,然后我才能回答。有人知道我错过了什么吗?
发布于 2016-11-04 01:03:45
为什么要迭代$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'));https://stackoverflow.com/questions/40413653
复制相似问题