使用Laravel查询构建器获取整数数组

Zak*_*iti 2 php arrays query-builder laravel laravel-5

我有这个问题:

$inError = DB::table('errors')            
        ->select('fk_fact')
        ->distinct()
        ->get();
Run Code Online (Sandbox Code Playgroud)

我希望它返回一个整数数组而不是返回一个对象数组,我不想循环遍历所有结果并逐个推送值...有没有办法用Laravel做到这一点?

Joe*_*inz 5

当然,您可以使用内置lists()方法:

$inError = DB::table('errors')            
    ->select('fk_fact')
    ->distinct()
    ->lists('fk_fact');
Run Code Online (Sandbox Code Playgroud)

您可能需要->all()在列表调用后添加.

这是我碰巧遇到的数据库中的一个修补程序示例:

>>> DB::table('teams')->select('name')->distinct()->lists('name');
=> [
     "AFC Bournemouth",
     "Arsenal",
     "Aston Villa",
     "Chelsea",
     "Crystal Palace",
     "Everton",
     "Leicester City",
     "Liverpool",
     "Manchester City",
     "Manchester United",
     "Newcastle United",
     "Norwich City",
     "Southampton",
     "Stoke City",
     "Sunderland",
     "Swansea City",
     "Tottenham Hotspur",
     "Watford",
     "West Bromwich Albion",
     "West Ham United",
   ]
Run Code Online (Sandbox Code Playgroud)