Frage

Ich war zu setzen IDs in der URL verwendet, um einen Eintrag in der Datenbank abzubilden:

/ Hotel / 1

aber was, wenn ich will den Namen des Hotels mit einer ID von 1 bekommen und es in der URL setzen und ersetzen Räume mit Bindestrichen?

/ Hotel / Hotel-bianca

Ich bin mit Kohana und es ist das Konzept des Routing (die so ziemlich in alle MVC-Frameworks ist), aber ich kann nicht scheinen, es funktioniert

Wie gehe ich um dies zu tun?

War es hilfreich?

Lösung

Da ich nichts über kohana weiß, ich werde eine mögliche PHP Antwort präsentieren.

Könnten passieren Sie die ID durch die URL und fordern Sie es mit PHP, und wenn Sie dabei den Namen des Hotels, haben die mit dem Hotel-Namen als Feld in der Datenbank zu dem Punkt entsprechen?

Andere Tipps

Zu diesem Zweck verwende ich spezielles Feld in db Tabelle namens url :) So zum Beispiel / Controller / open / urladress für URL-Feld sucht mit 'urladress' innen zu öffnen: D Ich glaube nicht, Sie uri auf Fly ändern können)

In der Steuerung können Sie die Datenbank für den Namen suchen. Ich bin zu Kohana 2.3.4 mit ORM verwendet, so ist dies, wie ich es tun würde:

// first you need to replace all hyphens with spaces
$name = str_replace('-', ' ', $parameter);

// search your db for the hotel by name
$hotel = ORM::factory('hotel')->where('name', $name)->find();

// check to make sure it is loaded
if ( ! $hotel->loaded)
{
    // Do something i.e. 404 page or let them know it wasn't found
}

Dies würde Sie mit Namen angeben. Sie können auch einen Scheck hinzufügen, um zu sehen, wenn der Parameter integer war oder nicht, und von ID suchen, wenn es ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top