Я хочу сделать зависимый выпадающий список, есть 2 модели, которые должны перечислить свои данные и сохранить их в таблице счетов. Я правильно установил их связь в модели. в первой опции выбора я ставлю «лицо» и «сотрудник» статические. и сделал условие для получения своих данных. Я зашел так далеко, это работает как-то, но мне интересно, как хранить данные в контроллере. любая помощь будет очень признательна.
Account Model
public function accountable()
{
return $this->morphTo();
}
Employee Model
class Employee extends Model
{
protected $guarded = [];
public function account()
{
return $this->morphOne(Account::class, 'accountable');
}
}
Person Model
class Person extends Model
{
protected $guarded = [];
public function accounts()
{
return $this->morphMany(Account::class, 'accountable');
}
}
это форма
<div class="form-group">
<label class="col-md-3 control-label">Accountable</label>
<div class="col-md-5">
<select class="form-control select2me" name="accountable_type">
<option value=""></option>
<option value="person">Person</option>
<option value="employee">Employee</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">Accountable_Type</label>
<div class="col-md-5">
<select name="accountable_id" class="form-control select2me">
{{-- <option value=""></option> --}}
</select>
</div>
</div>
Это ajax
<script>
$(document).ready(function() {
$('select[name="accountable_type"]').on('change', function() {
var person_id = $(this).val();
if(person_id == 'person') {
$.ajax({
url: "{{URL('get_person')}}",
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="accountable_id"]').empty();
$.each(data, function(key, value) {
$('select[name="accountable_id"]').append('<option value="'+ key +'">'+
value.name +'</option>');
});
}
});
}else{
$('select[name="accountable_id"]').empty();
}
});
$('select[name="accountable_type"]').on('change', function() {
var employee_id = $(this).val();
if(employee_id == 'employee') {
$.ajax({
url: "{{URL('get_employee')}}",
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="accountable_id"]').empty();
$.each(data, function(key, value) {
$('select[name="accountable_id"]').append('<option value="'+ key +'">'+
value.name +'</option>');
});
}
});
}else{
$('select[name="accountable_id"]').empty();
}
});
});
</script>