【发布时间】:2022-01-12 22:11:36
【问题描述】:
这是用户模型
public function userpackages()
{
return $this->hasMany('App\UserPackages');
}
试图从特定月份和年份获取用户包,但它返回所有记录。
$users = User::with(['team', 'userpackages' => function($package) use($month,$year) {
$package->whereMonth('created_at', $month)->whereYear('created_at', $year);
}])->get();
正在抓取
foreach ($users as $key => $user) {
$userpackages = $user->userpackages;
}
【问题讨论】:
-
您能分享一下查询吗?使用
toSql()而不是get() -
感谢您的宝贵时间@John $users = User::with(['team', 'userpackages' => function($package) use($month,$year) { $package-> whereMonth('created_at', $month)->whereYear('created_at', $year); }])->where('id', 4776)->toSql(); "从
users中选择 *id= ?" -
感谢@lagbox laravel/framework": "5.5.*
-
也许我读错了你的问题......你是否试图将用户限制为只有具有符合该标准的用户包的用户?还是仅将这种关系的急切加载限制为仅匹配该条件的那些用户包?
-
实际上我想从特定月份获取用户团队包。那就是我的团队关系 public function team() { return $this->hasMany(User::class,'referrer_id','id'); }
标签: laravel laravel-5 callback eloquent-relationship