У меня есть 3 таблицы, 1 для блоггеров, идентификатор блоггера сохраняется в таблице кампании в качестве внешнего ключа, а также в таблицах категорий в качестве внешнего ключа, который фактически является таблицей соединений.
iхотите, чтобы, когда идентификатор блоггера отсутствовал в таблице compaign, просто удалите его, но когда он находится в таблице compaign, не удаляйте его и вставьте ошибку ..
по моему коду: когда я удаляю blogger и егоданные находятся в таблице compaign, тогда он просто удаляет данные из таблицы категорий (которая является таблицей соединений таблицы blogger)
это моя модель:
public function delete($id){
if($id != $this->db->query("SELECT blogger_id FROM tbl_campaign_detail WHERE blogger_id = $id"))
{
$query=$this->db->query("DELETE FROM tbl_bloggers_cat WHERE blogger_id = $id AND Cat_id >2000");
$this->db->where('blogger_id', $id);
$this->db->delete('tbl_bloggers');
if($this->db->affected_rows() > 0){
return true;
}else{
return false;
}
}
else
{
}
}
это мой контроллер:
public function delete($id){
$result = $this->bm->delete($id);
if($result){
$this->session->set_flashdata('success_msg', 'Record deleted successfully');
}
else{
$this->session->set_flashdata('error_msg', 'Fail to delete record');
}
redirect(base_url('blogger/index'));
}
просмотреть код:
<?php $id = $blogger->blogger_id; ?>
<a href="<?php echo base_url('blogger/delete/'.$id); ?>" onclick="return confirm('Do you want to delete this record?');">
<span class="glyphicon glyphicon-trash"></span>
</a>
Я хочу, чтобы при удалении записи блоггера и ее идентификатора в таблице compaign в качестве внешнего ключа не удалялась эта запись, как показано в сообщении об ошибке..
но через этот код: когда я делаю это, он удаляет категорию блоггера из таблицы категорий, где идентификатор блоггера передается как внешний ключ .. (который является таблицей соединений блоггера и другого пользователя).ее столик)