【发布时间】:2021-12-27 22:27:18
【问题描述】:
我有两张桌子。用户和天,具有多对多的关系。 user_days : user_id, day_id
public function users()
{
return $this->belongsToMany(User::class, 'user_day');
}
public function days()
{
return $this->belongsToMany(Day::class, 'user_day');
}
我想获取 day_id = 1 {for a specific day} 或类似的用户计数。有什么方法可以从数据透视表中获取计数? 此功能无效。
public function assign_prize(Request $request)
{
$userCount = $this->user->days()->withCount('users')->where($request->day_id, 'day_id')->get();
$giftLimit = Day::where('id', $request->day_id)->get();
if ($userCount > $giftLimit) {
return problem(__("Gift for the current day has been finished!!"), 500, "Gift Assign Failed");
}
表结构?
Schema::create('user_day', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->integer('day_id')->unsigned();
$table->boolean('assigned')->default(0);
$table->timestamps();
});
如何找到当天用户的用户数??
【问题讨论】:
标签: sql laravel eloquent many-to-many laravel-query-builder