Позвольте мне прояснить вам ....
Измените свой маршрут с помощью post
Route::post('/admin/appointment/speciality', 'AppointmentController@doctorView')->name('admin.appointment.speciality');
Теперь ваша ajax
часть
$(document).ready(function(){
$(document).on('change','.doctor_speciality',function(){
var speciality_id = $(this, 'option:selected').val();
$.ajax({
type:'post',
url: "{{ route('admin.appointment.speciality') }}",
data:{speciality:speciality_id,_token:@json(csrf_token())},
success:function(data){
// console.log(data);
var op ='<option value="0" selected disabled>Choose Doctor</option>';
$.each(data,function(key,value){
op+='<option value="'+value.doctor_specialty+'">'+value.doctor_name+'</option>';
});
$('.doctor_name').empty().append(op);
},
error:function(data){
console.log(data);
}
});
});
});
Если у вас есть связь «один ко многим» с таблицей «доктор», тогда, по вашему мнению, измените это.
@foreach($specialityLists as $specialityList)
<option value="{{$specialityList->id}}">{{$specialityList->speciality}}</option>
@endforeach
И в контроллере сделайте что-то подобное ...
public function doctorView(Request $request)
{
//Here doc_spec_id will be your foreign key
//$request->speciality this will be your specialitylist primary key
return Doctor::select('doctor_name','doctor_specialty')->where('doc_spec_id',$request->speciality)->take(100)->get();
OR
//If $request->speciality is like a name mean to say string then write LIKE Query
return Doctor::select('doctor_name','doctor_specialty')->where('doctor_specialty','LIKE','%'.$request->speciality.'%')->take(100)->get();
}
Если данные null
Конечно, вы можете написать checks
et c ...