2011-02-18 200 views
0

以下是有關此問題的一些背景知識。Zend路由和數據庫映射

我們有一個車輛數據庫。數據從第三方購買並導入。在數據庫中的一些列在他們的價值符號(商標,版權等)

例如

川崎忍者& REG &tm;。

我們有一個控制器,用於處理從數據庫中顯示車輛,但路徑中的參數之一用作從數據庫中提取數據的標準。

因此,我們將有一個看起來像這樣

/川崎/忍者

這將顯示所有的川崎忍者自行車路線。控制器中有一個單獨的動作,它採用Kawasaki和Ninja路由的值,並生成一條SQL語句從數據庫中提取所有Kawasaki Ninjas。這裏是問題所在,數據庫中的數據並不總是像我上面所說的那樣乾淨,它會有不同的符號。

是否有一個優雅的解決方案,我可以通過使用zend提供給我的Route輕鬆查找數據庫中的數據。根據業務規則,URL中的特殊字符不是有效的解決方案,因此已被排除。我們還研究了清理數據庫中的數據並刪除不需要的符號。但是,這將需要更改數據導入方式或使腳本在數據庫中運行並進行清理。我們希望能夠保持數據的完整性並避免對數據庫進行任何類型的通配符搜索。這個映射需要能夠做從數據庫中左右逢源到URL和URL數據庫提前

感謝

回答

3

是否有可能爲你一個字段添加到作爲清潔版本的數據庫的路線? 因此,例如,在路線字段中放入「/ Kawasaki/Ninja」。這會使您的其餘數據保持不變。

可能會更快地創建兩個表。一個包含具有整數id的路線,另一個將路線映射到匹配的車輛。這將允許車輛有多條仍然映射到它的路線。