У меня есть личная таблица в базе данных с уникальным идентификатором (p_id) для каждого человека.Затем есть 2 другие таблицы (полномочия и вмешательства) с записями, связанными с таблицей персонала с (p_id)
Так что мне нужно удалить человека из базы данных, я передаю / отправляю p_id функции удаления в контроллеречтобы удалить человека, но мне нужно убедиться, что в таблицах полномочий и вмешательств нет записей, прежде чем человек может быть удален.
я использую form_validation для p_id
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('','');
$this->form_validation->set_rules(
'p_id', 'Autorisations', array(
'trim', array(
'p_id_auth_callable',array($this->Personnel_model, 'check_pers_tasks')
)
),
array('p_id_auth_callable' => ' Delete All {field}')
);
$this->form_validation->set_rules(
'p_id', 'Interventions', array(
'trim', array('p_id_intv_callable',array($this->Personnel_model, 'check_pers_intv'))
),
array('p_id_intv_callable' => ' Delete All {field}')
);
if ($this->form_validation->run() == FALSE){
$pers_delete_msg['icon'] = 'fas fa-exclamation-triangle fa-lg';
$pers_delete_msg['title'] = 'Warning';
$pers_delete_msg['status'] = 'warning';
$pers_delete_msg['text'] = validation_errors('<span class="fas fa-exclamation-triangle"></span>','');// . print_r($post_val,true) ;
}
else{
//delete person
}
оба эти правилаработать (если я использую одно из них), я получаю правильное сообщение.
Если я использую оба правила вместе, как в коде выше, генерируется только сообщение из последнего правила.
Могу ли я иметь2 вызова в одном правиле.
Я использую подключаемый модуль для обработки данных и отправляю p_id через jjery ajax-функцию на контроллер
$('#table tbody').on( 'click', '.delete_pers', function (e) {
e.preventDefault();
var pers_data = table.row( $(this).parents('tr') ).data();
$.ajax({
url: base_url +"personnel/delete_pers/",
data: {
p_id: pers_data['p_id']
},
type: 'POST',
dataType:'json',
success: function(response){
//display response
}
error: function(response){
//display
}
} );