【问题标题】:How can I select some columns of table?如何选择表格的某些列?
【发布时间】:2017-03-21 21:38:08
【问题描述】:

这是我的代码:

$arr = Users::all()->toArray();

它返回一个包含所有表列的数组。但我不需要所有列。我只需要返回这些列:'id', 'name', 'email', 'age'。我已经对此进行了搜索,并发现了这一点:(使用pluck()函数)

$arr = Users::pluck('id', 'name', 'email', 'age')->toArray();

但它没有返回预期的结果。它返回:

array:7 [▼
  "John" => 1
  "Peter" => 2
  "Jack" => 3
  "Ali" => 4
  "Teresco" => 5
  "Mark" => 6
  "Barman" => 7
]

如您所见,没有 emailage 列。我该如何解决?

【问题讨论】:

  • 你可以这样试试吗:$arr = Users::get(array('columns'....));
  • @S.I.是的,它有效..我测试过..谢谢

标签: php mysql sql laravel


【解决方案1】:

试试这个:

Users::with(array('user'=>function($query){
        $query->select('id','username');
    }))->get();

它只会从其他表中选择 id 和 username。我希望这对其他人有帮助。

【讨论】:

  • toArray() 在哪里?
  • @S.I.哈..你在搜索方面很有技巧:-P
【解决方案2】:

你可以使用select这样的方法来做到这一点,

Users::select('id', 'name', 'email', 'age')
        ->get()
        ->toArray();

【讨论】:

    【解决方案3】:

    您可以像这样收集get() 中的列数组:

    $arr = Users::get(array('id', 'name', 'email', 'age'))->toArray();
    

    【讨论】:

      猜你喜欢
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 2012-08-08
      • 2013-05-09
      • 2011-01-22
      • 1970-01-01
      相关资源
      最近更新 更多