refactor: Simplify Course model's studyGroups relationship type hint and update StudyGroup page to fetch course IDs from course_id field.

This commit is contained in:
Yoga Pangestu 2026-03-12 10:33:34 +07:00
parent 7cb8d32729
commit 3bb9fa4fa1
2 changed files with 4 additions and 3 deletions

View File

@ -162,7 +162,7 @@ public function studyGroupFormSchema(): array
->options(function (Get $get, ?StudyGroup $record) {
$query = Student::query();
$courseIds = array_values(array_filter((array) ($get('courses') ?? [])));
$courseIds = array_values(array_filter((array) ($get('course_id') ?? [])));
if (! empty($courseIds)) {
$allBusyIds = StudyGroup::getBusyStudentIdsForCourses(
courseIds: $courseIds,
@ -186,7 +186,7 @@ public function studyGroupFormSchema(): array
titleAttribute: 'full_name',
modifyQueryUsing: function (Builder $query, Get $get, ?StudyGroup $record) {
$courseIds = array_values(array_filter((array) ($get('courses') ?? [])));
$courseIds = array_values(array_filter((array) ($get('course_id') ?? [])));
if (! empty($courseIds)) {
$allBusyIds = StudyGroup::getBusyStudentIdsForCourses(
courseIds: $courseIds,

View File

@ -6,6 +6,7 @@
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
@ -32,7 +33,7 @@ public function materials(): HasMany
return $this->hasMany(Material::class);
}
public function studyGroups(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
public function studyGroups(): BelongsToMany
{
return $this->belongsToMany(StudyGroup::class, 'study_group_courses');
}