彻底删除thinkphp3.1案例blog标签的方法_php实例
本文实例讲述了彻底删除thinkphp3.1案例blog标签的方法。分享给大家供大家参考。具体方法如下:
thinkphp3.1框架中的案例blog,添加日记的同时可以添加标签tag,但仅此而已。当删除日记时,标签并没有被删除掉,从而造成think_tagged表和think_tag累积了垃圾数据。为了实现删除日记的同时也一起清理掉think_tagged表和think_tag那些过时的数据,我写了一个函数,在看下面函数时,要先弄清think_tagged表、think_tag和think_blog表的关联关系。
函数如下:
$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();
}
}
函数写好了,怎么使用呢?方法很简单。
我们来看一下删除日记的函数
//删除指定记录
$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() 里调用,如下:
//删除指定记录
$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程序设计有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bagaimana untuk memadamkan nota Xiaohongshu? pandangan! Tutorial penggunaan Xiaohongshu Cara memadam nota Xiaohongshu 1. Mula-mula buka APP Xiaohongshu dan masukkan halaman utama, pilih [Saya] di sudut kanan bawah untuk memasuki kawasan khas 2. Kemudian di kawasan Saya, klik pada halaman nota sebagai ditunjukkan di bawah , pilih nota yang anda mahu padamkan;

1. Pertama sekali, adalah palsu untuk menyekat dan memadam seseorang secara kekal dan tidak menambahkannya secara kekal. Jika anda ingin menambah pihak lain selepas anda menyekat dan memadamkannya, anda hanya memerlukan persetujuan pihak lain. 2. Jika pengguna menyekat seseorang, pihak yang satu lagi tidak akan dapat menghantar mesej kepada pengguna, melihat kalangan rakan pengguna atau membuat panggilan dengan pengguna. 3. Menyekat tidak bermakna memadamkan pihak lain daripada senarai kenalan WeChat pengguna. 4. Jika pengguna memadamkan pihak lain daripada senarai kenalan WeChat pengguna selepas menyekat mereka, tiada cara untuk pulih selepas pemadaman. 5. Jika pengguna ingin menambah pihak yang satu lagi sebagai rakan semula, pihak yang satu lagi perlu bersetuju dan menambah pengguna itu semula.

Sebagai platform e-dagang sosial yang popular, Xiaohongshu telah menarik sejumlah besar pengguna untuk berkongsi kehidupan harian dan pengalaman membeli-belah mereka. Kadangkala kami mungkin secara tidak sengaja menerbitkan beberapa kandungan yang tidak sesuai, yang perlu dipadamkan dalam masa untuk mengekalkan imej peribadi kami dengan lebih baik atau mematuhi peraturan platform. 1. Bagaimana untuk memadam keluaran Xiaohongshu? 1. Log masuk ke akaun Xiaohongshu anda dan masukkan halaman utama peribadi anda. 2. Di bahagian bawah halaman utama peribadi, cari pilihan "Ciptaan Saya" dan klik untuk masuk. 3. Pada halaman "Ciptaan Saya", anda boleh melihat semua kandungan yang diterbitkan, termasuk nota, video, dsb. 4. Cari kandungan yang perlu dipadamkan dan klik butang "..." di sebelah kanan. 5. Dalam menu pop timbul, pilih pilihan "Padam". 6. Selepas mengesahkan pemadaman, kandungan akan hilang dari laman utama peribadi anda dan halaman awam.

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

1. Buka apl Douyin, klik [Mesej] di bahagian bawah antara muka dan klik entri perbualan sembang yang perlu dipadamkan. 2. Tekan lama mana-mana rekod sembang, klik [Multiple Select], dan semak rekod sembang yang ingin anda padamkan. 3. Klik butang [Padam] di penjuru kanan sebelah bawah dan pilih [Sahkan pemadaman] dalam tetingkap pop timbul untuk memadam rekod ini secara kekal.

Xiaohongshu ialah platform e-dagang sosial yang popular, dan komen interaktif antara pengguna merupakan kaedah komunikasi yang sangat diperlukan pada platform tersebut. Kadangkala, kami mungkin mendapati ulasan kami telah dipadamkan oleh orang lain, yang boleh mengelirukan. 1. Bagaimanakah saya boleh mendapatkan semula ulasan orang lain yang dipadamkan pada Xiaohongshu? Apabila anda mendapati ulasan anda telah dipadamkan, anda boleh cuba mencari terus siaran atau produk yang berkaitan di platform terlebih dahulu untuk melihat sama ada anda masih boleh menemui ulasan tersebut. Jika ulasan masih dipaparkan selepas dipadamkan, ia mungkin telah dipadamkan oleh pemilik siaran asal Pada masa ini, anda boleh cuba menghubungi pemilik siaran asal untuk bertanya sebab memadam ulasan dan meminta untuk memulihkan ulasan. Jika ulasan telah dipadamkan sepenuhnya dan tidak dapat ditemui pada siaran asal, kemungkinan ia dikembalikan pada platform agak tipis. Anda boleh mencuba cara lain

Di Douyin, pengguna bukan sahaja boleh berkongsi butiran kehidupan dan bakat mereka, tetapi juga berinteraksi dengan pengguna lain. Dalam proses ini, kadangkala kita perlu menghantar fail kepada pengguna lain, seperti gambar, video, dll. Jadi, bagaimana untuk menghantar fail kepada orang lain di Douyin? 1. Bagaimana untuk menghantar fail kepada orang lain di Douyin? 1. Buka Douyin dan masukkan antara muka sembang di mana anda ingin menghantar fail. 2. Klik tanda "+" dalam antara muka sembang dan pilih "Fail". 3. Dalam pilihan fail, anda boleh memilih untuk menghantar gambar, video, audio dan fail lain. Selepas memilih fail yang ingin anda hantar, klik "Hantar". 4. Tunggu pihak lain menerima fail anda Setelah pihak lain menerimanya, fail tersebut akan berjaya dipindahkan. 2. Bagaimana untuk memadam fail yang dihantar kepada orang lain di Douyin? 1. Buka Douyin dan masukkan teks yang anda hantar.

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.
