【发布时间】:2013-06-15 15:15:00
【问题描述】:
我有一个用于添加来自公司的 aanbiedingen(优惠)的表格。我为此使用了三个表:
Aanbiedingen
- - - - - - -
idaanbiedingen //id
Aanbieding //offername
Omschrijving //description
Prijs //price
Conditie //condition
Bedrijfaanbiedingen
- - - - - - - - - -
idbedrijfaanbiedingen //id
idaanbiedingen // offers id
idbedrijven // company id
idfotoaanbiedingen // photo id
fotoaanbiedingen
- - - - - - - - -
idfotoaanbiedingen //id
fotonaam // photo name (this is the file_name)
我可以从表中删除数据:Aanbiedingen 和 Bedrijfaanbiedingen。我使用 url 中的 id 来删除它们。我在两个表中都使用了 idaanbiedingen 来删除数据。
问题
如何删除fotoaanbiedingen 中的数据,而该表中没有 idaanbiedingen?
我不明白如何做到这一点。这看起来几乎是不可能的。我曾考虑与bedrijfaanbiedingen 的 idfotoaanbiedingen 合作,但我不知道该怎么做。
我的模型如下所示:
function deleteaanbieding($id)
{
$this->db->where('idaanbiedingen', $id);
$this->db->delete('bedrijfaanbiedingen');
$this->db->where('idaanbiedingen', $id);
$this->db->delete('Aanbiedingen');
redirect('members/aanbiedingen');
}
$id 字段为:$id = $this->uri->segment(3);
如何添加删除fotoaanbiedingen的功能?
【问题讨论】:
-
通常,您可以执行删除连接 sql 查询,但我认为 Codeigniters 活动记录不支持此操作。您可能不得不恢复使用
$this->db->query(); -
如果您没有进行软删除(在数据库中设置删除标志),您还可以在 mysql 中的表之间创建级联删除关系,并依靠它为您删除记录。假设这是一对多的关系。
-
能否提供一个使用 SQL 的示例?
标签: php mysql forms codeigniter delete-row