Я хочу преобразовать этот запрос Mysql в Query Builder Codeigniter
Запрос работает в mysql, но не работает в codeigniter
Mysql
UPDATE tbl_person p
INNER JOIN tbl_family_victim f ON p.id_person = f.id_person
SET p.active = 0
WHERE f.id_prisoners = 32;
Кодигнитер
public function delete_all($id_pris){
$this->db->join('tbl_family f','p.id_person = f.id_person');
$this->db->set('p.active', '0');
$this->db->where('f.id_prisoners', $id_pris);
$data_result = $this->db->update('tbl_person p');
return $data_result;
}
проверьте эту ссылку, она может вам помочь stackoverflow.com/questions/42323649/…
Я применяю на практике эту ссылку, которую вы мне показываете, но не...






Попробуй это,
public function delete_all($id_pris){
$this->db->set('p.active', '0');
$this->db->where('f.id_prisoners', $id_pris);
$data_result = $this->db->update('tbl_person p JOIN tbl_family f ON p.id_person = f.id_person');
return $data_result;
}
У вас небольшая ошибка в вашем скрипте, вы пропустили псевдоним подчиненной таблицы
ВЕРСИЯ 1
public function delete_all($id_pris){
$this->db->join('tbl_family f','p.id_person = f.id_person',"inner"); // you missed `f` here
$this->db->set('p.active', '0');
$this->db->where('f.id_prisoners', $id_pris);
$data_result = $this->db->update('tbl_person p');
return $data_result;
}
Это должно работать нормально.
ВЕРСИЯ 2
$this->db->set('p.active', '0');
$this->db->where('f.id_prisoners', $id_pris);
$this->db->where('p.id_person = f.id_person')
$data_result = $this->db->update('tbl_family as f, tbl_person as p');
return $data_result;
ВЕРСИЯ 3
$sql = "
UPDATE tbl_person p
INNER JOIN tbl_family_victim f ON p.id_person = f.id_person
SET p.active = 0
WHERE f.id_prisoners = $id_pris";
$this->db->query($sql);
ВЕРСИЯ 4
$this->db->set('p.active', '0');
$this->db->where('f.id_prisoners', $id_pris);
$data_result = $this->db->update('tbl_family as f JOIN tbl_person as p ON p.id_person = f.id_person');
return $data_result;
извини мой друг, не работает! У вас есть другая идея?
Проверьте все версии моего обновленного ответа. Теперь это должно работать.
Спасибо мой друг!! ОТВЕЧАТЬ находится в ВЕРСИИ 3 !! Большое спасибо за Вашу помощь
У вас есть ошибки в вашем sql-запросе. eversql.com/sql-синтаксис-проверка-валидатор