我正在尝试按组名对课程进行排序(在组件中)。我使用Ajax通过Post方法获取group_id,并尝试获得类似的经验教训,但返回的数组为空。
Schedule.php:
public $belongsTo = [
'discipline' => 'Titamik\Cio\Models\Discipline',
'auditorium' => 'Titamik\Cio\Models\Auditorium',
'professors' => 'Titamik\Cio\Models\Professor',
'groups' => 'Titamik\Cio\Models\Group',
];
Group.php:
public $hasMany = [
'direction' => 'Titamik\Cio\Models\Direction',
'schedule' => 'Titamik\Cio\Models\Schedule'
];
ScheduleComponent.php:
public function onSort() {
$groupId = post('groupid');
$this->page['schedule'] = Schedule::groups()->where('id', $groupId)->get();
return $this->page['schedule'];
}
发布于 2020-12-05 03:21:18
这应该可以解决您的问题。Read more here
$schedules = Schedule::whereHas('groups', function ($query) use ($groupId) {
$query->where('id', $groupId);
})->get();
另一个附注。如果您打算通过ajax进行排序,则不需要页面变量;如果不加载页面,它将不会更新。在本例中,只需返回调度的值即可。我也会调查return responses to your。
public function onSort() {
$groupId = post('groupid');
$schedules = Schedule::whereHas('groups', function ($query) use ($groupId) {
$query->where('id', $groupId);
})->get();
return $schedules;
}
https://stackoverflow.com/questions/65148799
复制相似问题