我的数据库中有默认的laravel data={[
[
'Czas',
'Wszyscy',
'Rozwiazujacy',
'Uczniowie',
// 'Admini',
],
// return this.state.sortedForChart.map(ch => ch);
this.state.sortedForChart[0],
this.state.sortedForChart[1],
]}
表和自定义users
表。用户可以在educations
表中保存教育历史记录。
示例educations
数据:
educations
现在如何才能按教育程度让用户熟练使用laravel?
例如,获得受教育程度== 4的用户
答案 0 :(得分:1)
考虑到您的用户模型中有一个表示educations
关联的HasMany
方法,可以使用雄辩的has
(或whereHas
)方法:
$users = App\User::whereHas('educations', function ($query) {
$query->where('level', 4);
})->get();
这里是docs的链接。
答案 1 :(得分:0)
如果您正确设置了关系,那么在您的User
模型中,您应该具有以下内容:
public function educations() {
return $this->hasMany(Education::class);
}
那么一个简单的用法如下:
User::with(['educations' => function($query) {
$query->where('level', 4);
}])->get()->filter(function($user) {
return $user->educations->count() > 0;
});
相反的方法是:
Education::with('user')->where('level', 4)->get();
这将为您提供4级教育的列表,并为分配给它的每个用户提供教育。