Lassen Sie uns zuerst über Ihre Bedürfnisse sprechen – implementieren Sie verwandte Artikel basierend auf Tags und implementieren Sie die Artikelindizierung. Es gibt drei vorhandene Tabellen: Artikeltabelle (ID, Titel ...), Tag-Tabelle (Tagid, Tag) und Tag-Artikelkorrespondenz Tabelle (aid, tagid): Fügen Sie ein Tag-Feld zur Artikelveröffentlichungsseite hinzu und teilen Sie mehrere Tags in einem Artikel auf und speichern Sie sie in der Datenbank. Ohne Explosion () kann MySQL die Feldinformationen und hinzugefügten Dateninformationen erfolgreich abrufen, kann jedoch nach Verwendung von Explosion () nicht verwendet werden. Die Feldinformationen und der Wert sind immer leer. Frage: Wie kann ein Artikel den Effekt mehrerer Tags und Indizierungen erzielen? Oder wie kann der folgende Code verbessert werden?
<code>$article=I("post.post"); $article['eid']=I("post.eid"); $tags=I("post.tags"); $tags['tag']=explode(",",I("post.tag")); $article['smeta']=json_encode($_POST['smeta']); $article['post_content']=htmlspecialchars_decode($article['post_content']); $result=$this->posts_model->add($article); $result2=$this->tags_model->add($tags); echo $this->tags_model->getLastSql(); dump($tags); if ($result && $result2) { $this->tag_relationships_model->add(array("aid"=>$result,"tagid"=>$result2)); foreach ($_POST['term'] as $mterm_id){ $this->term_relationships_model->add(array("term_id"=>intval($mterm_id),"object_id"=>$result)); } $this->success("添加成功!"); } else { $this->error("添加失败!"); } }</code>