Maison développement back-end tutoriel php 彻底删除thinkphp3.1案例blog标签的方法_php实例

彻底删除thinkphp3.1案例blog标签的方法_php实例

Jun 07, 2016 pm 05:14 PM
thinkphp 删除 标签

本文实例讲述了彻底删除thinkphp3.1案例blog标签的方法。分享给大家供大家参考。具体方法如下:

thinkphp3.1框架中的案例blog,添加日记的同时可以添加标签tag,但仅此而已。当删除日记时,标签并没有被删除掉,从而造成think_tagged表和think_tag累积了垃圾数据。为了实现删除日记的同时也一起清理掉think_tagged表和think_tag那些过时的数据,我写了一个函数,在看下面函数时,要先弄清think_tagged表、think_tag和think_blog表的关联关系。

函数如下:

复制代码 代码如下:
public function deltag($recordId){      
    
      $condition['recordId'] = $recordId;//获取日记的ID
          
     $tagged=M('Tagged');
     $taggedlist= $tagged->where($condition)->select();//这里用select而不用find,因为一篇日记可能有多个标签
            
   $taggedids=array();//声明一个数组,用来装think_tagged表的ID
            
    $tagIds=array();//声明一个数组,用来装think_tag表的ID
            
    foreach ($taggedlist as $key => $value) {
            
   $tagIds[]=$value['tagId'];//获取think_tag表的ID
                   
   $taggedids[]=$value['id'];//获取think_tagged表的ID
               }
 //考虑到一篇日记可能有多个标签,所以这里对$tagIds作一下遍历
  foreach ($tagIds as $tagIdk => $tagIdv) {
            
   $tagId=$tagIdv;  
                  
   $tag=D('Tag');
                   
   $tagvo=$tag->where('id='.$tagId)->find();//获取每个$tagId对应的一条记录
           
  $count=intval($tagvo['count']);//获取标签的数量
           
  if($count==1){//如果$count==1,说明这个标签仅有这篇日记所有,删掉。
                   
  $tag->where('id='.$tagId)->delete();
                    
  }elseif($count > 1){//$count > 1,说明这个标签为多篇日记所有,不能删除,所以减1。
                 
  $tag->where('id='.$tagId)->setDec('count',1);//setDec使$count减1,注意thinkphp3.1的使用方法。
                
   }
 }
 //下面是删除日记存在think_tagged表里的相关数据
   foreach ($taggedids as $taggedid_k => $taggedid_v) {
              
    $tagged->where('id='.$taggedid_v)->delete();
                   
    }
}

函数写好了,怎么使用呢?方法很简单。
我们来看一下删除日记的函数

复制代码 代码如下:
public function delete() {
        //删除指定记录
        $model = M("Blog");
        if (!empty($model)) {
            $id = $_REQUEST[$model->getPk()];
            if (isset($id)) {
 
                if ($model->where("id=" . $id)->delete()) {
                    if ($this->__get('ajax')) {
                        $this->ajaxReturn($id, L('_DELETE_SUCCESS_'), 1);
                    } else {
                        $this->success(L('_DELETE_SUCCESS_'));
                    }
                } else {
                    $this->error(L('_DELETE_FAIL_'));
                }
            } else {
                $this->error(L('_ERROR_ACTION_'));
            }
        }
}

这个函数是放在Examples\Blog\Lib\Action\PublicAction.class.php这个公共类里的,BlogAction.class.php类继承了其删除函数,我们就把deltag($recordId)函数放在delete() 里调用,如下:

复制代码 代码如下:
public function delete() {
 //删除指定记录
 $model = M("Blog");
 if (!empty($model)) {
     $id = $_REQUEST[$model->getPk()];
     if (isset($id)) {
     $recordId=$id;
      $this->deltag($recordId);
  if ($model->where("id=" . $id)->delete()) {
      if ($this->__get('ajax')) {
   $this->ajaxReturn($id, L('_DELETE_SUCCESS_'), 1);
      } else {
   $this->success(L('_DELETE_SUCCESS_'));
      }
  } else {
      $this->error(L('_DELETE_FAIL_'));
  }
     } else {
  $this->error(L('_ERROR_ACTION_'));
     }
 }
}

以上只适用删除单条日记的情况,当然如要批量删除日记,只要遍历删除blog的ID同时调用一下deltag($recordId)就OK了。

 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment supprimer les notes Xiaohongshu Comment supprimer les notes Xiaohongshu Mar 21, 2024 pm 08:12 PM

Comment supprimer les notes de Xiaohongshu ? Les notes peuvent être modifiées dans l'application Xiaohongshu. La plupart des utilisateurs ne savent pas comment supprimer les notes de Xiaohongshu. Ensuite, l'éditeur propose aux utilisateurs des images et des textes expliquant comment supprimer les notes de Xiaohongshu. un regard ensemble ! Tutoriel d'utilisation de Xiaohongshu Comment supprimer les notes de Xiaohongshu 1. Ouvrez d'abord l'application Xiaohongshu et entrez dans la page principale, sélectionnez [Moi] dans le coin inférieur droit pour accéder à la zone spéciale 2. Ensuite, dans la zone Ma, cliquez sur la page de note comme suit : indiqué ci-dessous, sélectionnez la note que vous souhaitez supprimer ; 3. Accédez à la page de notes, cliquez sur [trois points] dans le coin supérieur droit ; 4. Enfin, la barre de fonctions s'agrandira en bas, cliquez sur [Supprimer] pour terminer.

Est-il vrai que vous pouvez être bloqué et supprimé sur WeChat et ne pas pouvoir être ajouté de manière permanente ? Est-il vrai que vous pouvez être bloqué et supprimé sur WeChat et ne pas pouvoir être ajouté de manière permanente ? Apr 08, 2024 am 11:41 AM

1. Tout d'abord, il est faux de bloquer et de supprimer définitivement quelqu'un et de ne pas l'ajouter de manière permanente. Si vous souhaitez ajouter l'autre partie après l'avoir bloquée et supprimée, vous n'avez besoin que du consentement de l'autre partie. 2. Si un utilisateur bloque quelqu'un, l'autre partie ne pourra pas envoyer de messages à l'utilisateur, voir son cercle d'amis ou passer des appels avec l'utilisateur. 3. Le blocage ne signifie pas la suppression de l'autre partie de la liste de contacts WeChat de l'utilisateur. 4. Si l'utilisateur supprime l'autre partie de sa liste de contacts WeChat après l'avoir bloqué, il n'y a aucun moyen de récupérer après la suppression. 5. Si l'utilisateur souhaite à nouveau ajouter l'autre partie comme ami, l'autre partie doit accepter et ajouter à nouveau l'utilisateur.

Comment supprimer les versions de Xiaohongshu ? Comment récupérer après suppression ? Comment supprimer les versions de Xiaohongshu ? Comment récupérer après suppression ? Mar 21, 2024 pm 05:10 PM

En tant que plate-forme sociale de commerce électronique populaire, Xiaohongshu a attiré un grand nombre d'utilisateurs pour partager leur vie quotidienne et leurs expériences d'achat. Parfois, nous pouvons publier par inadvertance du contenu inapproprié, qui doit être supprimé à temps pour mieux préserver notre image personnelle ou respecter les réglementations de la plateforme. 1. Comment supprimer les versions de Xiaohongshu ? 1. Connectez-vous à votre compte Xiaohongshu et accédez à votre page d'accueil personnelle. 2. Au bas de la page d'accueil personnelle, recherchez l'option « Mes créations » et cliquez pour entrer. 3. Sur la page « Mes créations », vous pouvez voir tout le contenu publié, y compris les notes, vidéos, etc. 4. Recherchez le contenu qui doit être supprimé et cliquez sur le bouton "..." à droite. 5. Dans le menu contextuel, sélectionnez l'option "Supprimer". 6. Après avoir confirmé la suppression, le contenu disparaîtra de votre page d'accueil personnelle et de votre page publique.

Comment exécuter le projet thinkphp Comment exécuter le projet thinkphp Apr 09, 2024 pm 05:33 PM

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

Il existe plusieurs versions de thinkphp Il existe plusieurs versions de thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Comment puis-je récupérer le commentaire supprimé de quelqu'un d'autre sur Xiaohongshu ? Sera-t-il affiché si le commentaire de quelqu'un d'autre est supprimé ? Comment puis-je récupérer le commentaire supprimé de quelqu'un d'autre sur Xiaohongshu ? Sera-t-il affiché si le commentaire de quelqu'un d'autre est supprimé ? Mar 21, 2024 pm 10:46 PM

Xiaohongshu est une plateforme sociale de commerce électronique populaire, et les commentaires interactifs entre utilisateurs sont une méthode de communication indispensable sur la plateforme. Parfois, nous pouvons constater que nos commentaires ont été supprimés par d’autres, ce qui peut prêter à confusion. 1. Comment puis-je récupérer les commentaires supprimés de quelqu'un d'autre sur Xiaohongshu ? Lorsque vous constatez que vos commentaires ont été supprimés, vous pouvez d'abord essayer de rechercher directement des articles ou des produits pertinents sur la plateforme pour voir si vous pouvez toujours retrouver le commentaire. Si le commentaire est toujours affiché après avoir été supprimé, il a peut-être été supprimé par le propriétaire de la publication d'origine. À ce stade, vous pouvez essayer de contacter le propriétaire de la publication d'origine pour lui demander la raison de la suppression du commentaire et demander sa restauration. Si un commentaire a été complètement supprimé et est introuvable sur la publication d’origine, les chances qu’il soit réintégré sur la plateforme sont relativement minces. Vous pouvez essayer d'autres façons

Comment supprimer complètement l'historique des discussions TikTok Comment supprimer complètement l'historique des discussions TikTok May 07, 2024 am 11:14 AM

1. Ouvrez l'application Douyin, cliquez sur [Message] en bas de l'interface, puis cliquez sur l'entrée de conversation de chat qui doit être supprimée. 2. Appuyez longuement sur n'importe quel enregistrement de discussion, cliquez sur [Sélection multiple] et vérifiez les enregistrements de discussion que vous souhaitez supprimer. 3. Cliquez sur le bouton [Supprimer] dans le coin inférieur droit et sélectionnez [Confirmer la suppression] dans la fenêtre contextuelle pour supprimer définitivement ces enregistrements.

Comment publier du contenu Xiaohongshu ? Comment supprimer le contenu publié sur Xiaohongshu ? Comment publier du contenu Xiaohongshu ? Comment supprimer le contenu publié sur Xiaohongshu ? Mar 21, 2024 pm 04:10 PM

Avec le développement continu des médias sociaux, Xiaohongshu est devenue une plateforme importante permettant aux jeunes de partager leur vie, de découvrir les tendances et de s'inspirer. Dans cette communauté dynamique, comment publier du contenu de haute qualité et attirer davantage d’attention et de likes est devenu une préoccupation pour de nombreux utilisateurs. 1. Comment publier du contenu Xiaohongshu ? Avant de créer, il est crucial de choisir un sujet adapté. Vous pouvez choisir un sujet intéressant en fonction de vos intérêts et de votre expertise. Cela vous permettra non seulement de rester passionné par le processus d'écriture, mais cela permettra également aux lecteurs de s'identifier plus facilement à votre travail. 2. Concevez soigneusement le titre : le titre est la clé pour inciter les lecteurs à cliquer. Il doit être concis et clair, et en même temps, il doit être attrayant et engageant. Évitez d'utiliser des formulations exagérées qui pourraient faire réagir le lecteur

See all articles