本文阐述了彻底删除thinkphp3.1案例博客标签的方法,分享给你参考。具体方法如下:

在thinkphp3.1框架下的博客可以添加一个标签,添加一个日记,但是这一切。当日记被删除,该标签不删除,造成think_tagged表和think_tag积累的垃圾数据。为了删除日记,一起上的think_tagged和think_tag过时数据清理、我写了一个函数。当看着下面的功能,我们首先应该明确think_tagged表之间的关系,think_tag和think_blog表。

其功能如下:

复制代码代码如下:公共职能Deltag($ recordid){



{ } =条件'recordid美元的recordid美元; / /获得ID的日记



标签= M('tagged美元);

taggedlist美元=美元标记->在(条件)(->选择); / /这里使用选择而不是找到,因为日记可以有多个标签



($ taggedids = array); / /声明一个数组,用来保存think_tagged表ID



($ tagids = array); / /声明一个数组,用来保存think_tag表ID



foreach(taggedlist美元美元美元关键=值){



$tagIds{}=$value{'tagId'}; / / get think_tag table ID



taggedids美元{ } =价值{ 'id' }; / /得到think_tagged表ID

}

/ /考虑日记可以有多个标签,所以这里的遍历tagids美元

foreach(tagids美元美元美元tagidk = tagidv){



tagid = tagidv美元美元;



标签= D('tag美元);



tagvo美元=美元->在标签(ID ='。tagid美元)(->找到); / /每个相应tagid美元创纪录



$count = intval($ tagvo { count}); / /得到的标签数量



如果($ = 1){如果$ = = 1,则该日记本的所有标签都已删除。



标签>,(美元ID =美元。tagid)->删除();



} elseif(合计数> 1){ / / $数> 1,说明这个标签是多写日记,不能被删除,所以1。



标签>,(美元ID =美元。tagid)-> setdec(count,1); / / setdec降低1美元算,注重thinkphp3.1使用。



}

}

以下是数据 / /删除日记think_tagged表

foreach(taggedids美元美元美元taggedid_k = taggedid_v){



$标记->哪里(ID =美元。taggedid_v)->删除();



}

}

函数被写入。怎么用它方法很简单。

让我们来看看删除日记的功能。

复制代码代码如下:公共函数删除(){

删除指定的记录

元= m(blog);

如果(!空($模型){

美元美元美元_request ID = {模型-> getpk()};

如果(isset($id)){



如果($)。$)-删除()){

如果(美元-> __get('ajax ')){

美元-> ajaxreturn($id,L('_delete_success_ '),1);

{人}

美元->成功(L('_delete_success_ '));

}

{人}

美元->误差(L('_delete_fail_ '));

}

{ { { }

美元->误差(L('_error_action_ '));

}

}

}

这个函数放在实例博客自由行动 publicaction.class.php公开课。的blogaction.class.php类继承其删除功能。我们称DeltaG($ recordid)功能删除()。

复制代码代码如下:公共函数删除(){

删除指定的记录

元= m(blog);

如果(!空($模型){

美元美元美元_request ID = {模型-> getpk()};

如果(isset($id)){

recordid美元= $ ID;

美元-> Deltag($ recordid);

如果($)。$)-删除()){

如果(美元-> __get('ajax ')){

美元-> ajaxreturn($id,L('_delete_success_ '),1);

{人}

美元->成功(L('_delete_success_ '));

}

{ { { }

美元->误差(L('_delete_fail_ '));

}

{人}

美元->误差(L('_error_action_ '));

}

}

}

以上仅适用于删除单个日记本。当然,如果你想删除散装日记,只是通过ID,删除了博客,并称DeltaG($ recordid)在同一时间,然后一切都会好的。

希望本文有助于基于ThinkPHP框架的PHP程序设计人。