Я просто храню слагов в своей таблице базы данных в столбце с именем slug
, затем нахожу сообщение со слагом, например:
public function view($slug)
{
$query = $this->db->get_where('posts', array('slug' => $slug), 1);
// Fetch the post row, display the post view, etc...
}
Кроме того, чтобы легко получить слаг из вашегозаголовок сообщения, просто используйте url_title()
помощника по URL:
// Use dashes to separate words;
// third param is true to change all letters to lowercase
$slug = url_title($title, 'dash', true);
Небольшой бонус: вы можете захотеть применить ограничение уникального ключа к столбцу slug
, которое обеспечиваетчто в каждом сообщении есть уникальный слаг, так что не следует однозначно, какой пост должен искать CodeIgniter.Конечно, вам, вероятно, следует в первую очередь присваивать своим сообщениям уникальные заголовки, но если поставить это на место , то соблюдение правила и предотвращение провала вашего приложения.