Здравствуйте, я новичок в Laravel
У меня проблема при получении данных из базы данных через выпадающий список. У меня есть раскрывающийся список для классов, поэтому, когда пользователь выбирает какой-либо класс и нажимает кнопку «Отправить», ученики, относящиеся к этому классу, будут отображаться ниже в таблице ... У меня есть таблица в базе данных для учеников, в которой существует идентификатор класса ученика. для каждого студента. Я не могу понять логику этой проблемы.
Кто-нибудь может мне помочь?
// Мой контроллер
public function index()
{
$classes = StudentsClass::pluck('class_name', 'id')->all();
$students = Student::all();
return view('admin.students.attendance.index', compact('classes', 'students'));
}
public function mytableAjax($id)
{
$students = DB::table("students")
->where("student_id",$id)
->lists("class_name","id");
return json_encode($students);
}
// Мой взгляд
<option value="">--- Select State ---</option>
@foreach ($classes as $key => $value)
<option value="{{ $key }}">{{ $value }}</option>
@endforeach
</select>
<table id="studentsData" class="table table-striped table-bordered table-list-search">
<thead>
<tr>
<th>#</th>
<th>Student ID</th>
<th>Student Name</th>
<th>Attendance</th>
</tr>
</thead>
@foreach($students as $student)
<tbody>
<tr>
<th>{{$student->id}}</th>
<td>{{$student->student_id}}</td>
<td>{{$student->first_name}} {{$student->last_name}}</td>
<td>
<div class="form-group">
<select class="form-control" id="gender">
<option>Present</option>
<option>Absent</option>
<option>Leave</option>
</select>
</div>
</td>
</tr>
</tbody>
@endforeach
</table>
<a class="fas fa-folder-open btn btn-success float-right mb-4 mr-2"> Save</a>
</div>
// Аякса
$(document).ready(function() {
$('select[name="students_class_id"]').on('change', function() {
var classID = $(this).val();
if(classID) {
$.ajax({
url: '/myform/ajax/'+classID,
type: "GET",
dataType: "json",
success:function(data) {
$('table[id="studentsData"]').empty();
$.each(data, function(key, value) {
$('table[id="studentsData"]').append('<td value="'+ key +'">'+ value +'</td >');
});
}
});
}
// else{
//
// $('table[id="studentsData"]').empty();
//
// }
});
});
Это то, что я пытался