我希望从government_type ='higher_government'的每条记录中获取每个'stat'值,但目前我的代码只获取它找到的第一个政府角色的统计数据实例,我如何整理所有统计数据在某种阵列?
$higherGovernment = Cache::remember('government.higher_government', 1, function() {
return GovernmentRole::where('government_type', 'higher_government')->first()->stats;
});
统计关系:
public function government_role()
{
return $this->belongsTo('App\Database\Website\Roleplay\GovernmentRole', 'government_id');
}
政府关系:1
public function stats(){
return $this->hasMany('App\Database\Website\User\Roleplay', 'government_id');
}
答案 0 :(得分:1)
使用pluck()->toArray()
GovernmentRole::where('government_type', 'higher_government')->pluck('stats')->toArray();
此代码将返回stats
属性数组。
答案 1 :(得分:0)
您应该能够使用Eloquent's Collection中的pluck()
方法。 https://laravel.com/docs/5.3/collections#method-pluck
将您的查询更改为:
GovernmentRole::where('government_type', 'higher_government')
->get()
->pluck('stats', 'government_id');
这将为您提供包含government_id
=>的集合stats
。
如果您想要一个数组而不是一个集合,只需添加->toArray()