【问题标题】:Create an id array from mysql results从 mysql 结果创建一个 id 数组
【发布时间】: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 我不知道您是如何设置关系的,但是如果您正确设置了所有内容并且如果您阅读了selectslaravel.com/docs/queries#selects 上的文档,您将看到lists方法返回你想要的。
  • @Altrim 我明白了。刚刚在列表前添加了一个选择。如果你愿意回答我会接受。

标签: php mysql sql arrays laravel


【解决方案1】:

要检索列值列表,您可以在查询中使用方法lists

User::find($user)->group()->lists('jid');

我猜您会收到关于 id 不明确的错误,因为您在父查询中具有相同的列名,因此您必须明确选择它。

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2019-08-24
    • 2015-11-24
    • 1970-01-01
    相关资源
    最近更新 更多