Laravel 5 Laravel-使用两列作为显示类型填充下拉列表

Laravel 5 Laravel-使用两列作为显示类型填充下拉列表,laravel-5,collections,Laravel 5,Collections,我正在使用PullAPI获取两列,并在视图中传递一个集合以创建下拉菜单 Province::pluck('name', 'id'); 它工作正常,显示省“名称”,使用id作为值。但是我想显示两列,即name和total_population 我怎样才能做到这一点呢?不幸的是,Eloquent的pluck()方法不允许您这样做,但您可以在执行正常查询后通过其他收集方法来实现这一点。至少有两种方法可以实现这一点: 只有 带+ 我个人更喜欢后者,但您可以随意选择其中一种。:) $provinces

我正在使用PullAPI获取两列,并在视图中传递一个集合以创建下拉菜单

Province::pluck('name', 'id');
它工作正常,显示省“名称”,使用id作为值。但是我想显示两列,即name和total_population


我怎样才能做到这一点呢?

不幸的是,Eloquent的
pluck()
方法不允许您这样做,但您可以在执行正常查询后通过其他收集方法来实现这一点。至少有两种方法可以实现这一点:

只有

带+

我个人更喜欢后者,但您可以随意选择其中一种。:)

$provinces = Province::all(['id', 'name', 'total_population'])
    ->mapWithKeys(function ($province) {
        return [$province->id => "{$province->name} ({$province->total_population})"];
    });
$provinces = Province::all(['id', 'name', 'total_population'])
    ->keyBy('id')
    ->map(function ($province) {
        return "{$province->name} ({$province->total_population})";
    });