从 mysql 结果创建一个 id 数组
Posted
技术标签:
【中文标题】从 mysql 结果创建一个 id 数组【英文标题】:Create an id array from mysql results 【发布时间】:2014-01-16 02:38:30 【问题描述】:如何从只选择 ID 的 mysql 查询创建 id 数组。 所以我想得到数组(id, id, id);
这是我的代码:
$group = User::find($user)->group()->get(array('group.jid'));
当前返回的代码:
[
"jid": 1
,
"jid": 3
]
我该怎么做才能获得jid: 1,3
?所以我可以将它添加到where in
查询中?
WhereIn('id', $group)->get();
【问题讨论】:
您希望这些数字在一个数组中还是在一个字符串中? 试试这个User::find($user)->group()->lists('jid');
它应该返回一个带有jid
的数组
@Altrim 这很有希望,但我得到了Column 'jid' in field list is ambiguous
。所以我把它改成了groups.jid
。但仍然是同样的错误。
@user3134069 我不知道您是如何设置关系的,但是如果您正确设置了所有内容并且如果您阅读了selects
laravel.com/docs/queries#selects 上的文档,您将看到lists
方法返回你想要的。
@Altrim 我明白了。刚刚在列表前添加了一个选择。如果你愿意回答我会接受。
【参考方案1】:
要检索列值列表,您可以在查询中使用方法lists
User::find($user)->group()->lists('jid');
我猜您会收到关于 id 不明确的错误,因为您在父查询中具有相同的列名,因此您必须明确选择它。
【讨论】:
以上是关于从 mysql 结果创建一个 id 数组的主要内容,如果未能解决你的问题,请参考以下文章