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:
parent
7cb8d32729
commit
3bb9fa4fa1
@ -162,7 +162,7 @@ public function studyGroupFormSchema(): array
|
|||||||
->options(function (Get $get, ?StudyGroup $record) {
|
->options(function (Get $get, ?StudyGroup $record) {
|
||||||
$query = Student::query();
|
$query = Student::query();
|
||||||
|
|
||||||
$courseIds = array_values(array_filter((array) ($get('courses') ?? [])));
|
$courseIds = array_values(array_filter((array) ($get('course_id') ?? [])));
|
||||||
if (! empty($courseIds)) {
|
if (! empty($courseIds)) {
|
||||||
$allBusyIds = StudyGroup::getBusyStudentIdsForCourses(
|
$allBusyIds = StudyGroup::getBusyStudentIdsForCourses(
|
||||||
courseIds: $courseIds,
|
courseIds: $courseIds,
|
||||||
@ -186,7 +186,7 @@ public function studyGroupFormSchema(): array
|
|||||||
titleAttribute: 'full_name',
|
titleAttribute: 'full_name',
|
||||||
modifyQueryUsing: function (Builder $query, Get $get, ?StudyGroup $record) {
|
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)) {
|
if (! empty($courseIds)) {
|
||||||
$allBusyIds = StudyGroup::getBusyStudentIdsForCourses(
|
$allBusyIds = StudyGroup::getBusyStudentIdsForCourses(
|
||||||
courseIds: $courseIds,
|
courseIds: $courseIds,
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
@ -32,7 +33,7 @@ public function materials(): HasMany
|
|||||||
return $this->hasMany(Material::class);
|
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');
|
return $this->belongsToMany(StudyGroup::class, 'study_group_courses');
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user