首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确地完成这个query &比较查询?Laravel 5.3

如何正确地完成这个query &比较查询?Laravel 5.3
EN

Stack Overflow用户
提问于 2016-11-04 00:52:01
回答 1查看 3.1K关注 0票数 2

我正在尝试获取这个标记字符串,并遍历它以获得另一个表中相应标记的列:

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

检查:

代码语言:javascript
复制
    $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)打印一个似乎是随机的结果:

代码语言:javascript
复制
{#262 ▼
  +"subcategory": "SUPPORT ROLE"
  +"description": "Project Management"
}

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-04 01:03:45

为什么要迭代$tags而不使用whereIn方法并获得整个相关行的集合?

代码语言:javascript
复制
$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'));

文档

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40413653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档