Laravel 5.2 查询生成器作为单个数组(不是 2D 或 3D)

Posted

技术标签:

【中文标题】Laravel 5.2 查询生成器作为单个数组(不是 2D 或 3D)【英文标题】:Laravel 5.2 Query Builder get as a single array(not 2D or 3D) 【发布时间】:2016-06-21 22:50:13 【问题描述】:

这是我的查询。

$mem = DB::table('user_zakathorg')
       ->JOIN('zakathorgs', 'user_zakathorg.zakathorg_id', '=', 'zakathorgs.ID')
       ->WHERE('user_id', '=', Auth::user()->id )
       ->SELECT('zakathorg_id', 'orgName')->get();

而且输出总是一个原始的。如下图

如果我想访问 zakathorg_id。我必须使用 foreach 循环。而且我无法访问

$mem[0]['zakathorg_id]

我怎么能把它当作简单的$mem['zakathorg_id']

【问题讨论】:

【参考方案1】:

使用first() 方法代替get()

$mem = DB::table('user_zakathorg')
       ->JOIN('zakathorgs', 'user_zakathorg.zakathorg_id', '=', 'zakathorgs.ID')
       ->WHERE('user_id', '=', Auth::user()->id )
       ->SELECT('zakathorg_id', 'orgName')->get();
// You can access $mem->zakathorg_id now

【讨论】:

以上是关于Laravel 5.2 查询生成器作为单个数组(不是 2D 或 3D)的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.2 - pluck() 方法返回数组

如何将数组作为 Laravel 查询生成器的 SELECT 参数传递

获取数组中对象的编号,但不获取对象本身。 - Laravel 5.2

如何将此集合转换为 Laravel 5.2 中的数组

如何在Laravel 5.2中将表单数据作为路由参数传递

在 laravel 5.2 中使用单个命令制作模型和迁移