codeigniter Проверьте, существуют ли данные в строке таблицы обновления базы данных - PullRequest
0 голосов
/ 25 марта 2019

Как проверить, существует ли столбец в построителе запросов Codeigniter 3? моя таблица базы данных называется «теги», и в этой таблице есть два столбца (post_id и tag). Вот мой код для добавления тегов к post:

//add post tags
public function add_post_tags($post_id)
{
    //tags
    $tags = trim($this->input->post('tags', true));

    $tags_array = explode(",", $tags);
    if (!empty($tags_array)) {
        foreach ($tags_array as $tag) {
            $tag = trim($tag);
            if (strlen($tag) > 1) {
                $data = array(
                    'post_id' => $post_id,
                    'tag' => trim($tag),
                    'tag_slug' => str_slug(trim($tag))
                );

                if (empty($data["tag_slug"]) || $data["tag_slug"] == "-") {
                    $data["tag_slug"] = "tag-" . uniqid();
                }

                //insert tag
                $this->db->insert('tags', $data);
            }
        }
    }
}

Я хочу проверить, существуют ли данные в базе данных, обновить столбец post_id, если не существует, вставить новые данные столбец "post_id" типа "5,8,9" Я хочу добавить номер сообщения к предыдущим номерам при обновлении столбца "post_id" например, после обновления столбца "post_id" Эта таблица похожа на эту "5,8,9,11" здесь 11 мой последний пост id

1 Ответ

0 голосов
/ 25 марта 2019

Попробуйте вместо этого использовать replace():

$this->db->replace('tags', $data);

Обычно он вставляет новую запись, если она не существует, обновляет ее в соответствии со своим первичным или уникальным ключом, если он существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...