【发布时间】:2016-09-15 08:40:08
【问题描述】:
我有两个表 Groups 和 Tracking 并且它们是连接的。我想删除 Groups 记录,并删除 Tracking 中的外键,但我不知道如何删除或更新这个外键为 NULL 值。我不想从 Tracking 中删除所有记录。任何的想法?感谢您的帮助。
protected $_table_name = 'trackingGroup';
protected $_primary_key = 'trg_id';
protected $_has_many = array(
'tracking' => array(
'model' => 'Orm_tracking',
'foreign_key' => 'tr_trgId',
),
);
protected $_belongs_to = array(
'user' => array(
'model' => 'Orm_users',
'foreign_key' => 'trg_uId',
),
);
function delete(){ //my first idea
foreach($this->tracking->tr_trtId->find() as $tracking)
$tracking->delete();
parent::delete();
}
在跟踪表中我有:
tr_id int PK,
tr_uId int FK,
tr_trtId int FK,
tr_trgId int FK,
tr_dateCreate data,
tr_status Char(1)
在跟踪组中:
trg_Id int PK,
trg_name char(40),
trg_description char(256),
trg_uId int FK
删除应该如何工作:当用户想要点击删除按钮时,它应该从 TrackingGroups 中删除记录,并且它应该删除或更新 Tracking 表中的字段 tr_trgId,tr_trgId 中应该有 NULL 值。
【问题讨论】:
-
请分享获取想法的代码
标签: php kohana-3 kohana-orm kohana-3.2 kohana-3.3