Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend路由和数据库映射_Php_Mysql_Zend Framework - Fatal编程技术网

Php Zend路由和数据库映射

Php Zend路由和数据库映射,php,mysql,zend-framework,Php,Mysql,Zend Framework,以下是关于这个问题的一些背景资料 我们有一个车辆数据库。数据从第三方购买并导入。数据库中的某些列的值中有符号(商标、版权等) 范例 川崎忍者®&tm 我们有一个控制器,用于处理从数据库显示车辆的操作,但路线中的一个参数用作从数据库提取数据的标准 所以我们会有这样的路线 /川崎/忍者 这将显示所有川崎忍者自行车。控制器中只有一个操作,它从路由Kawasaki和Ninja中获取值,并生成SQL语句以从数据库中提取所有Kawasaki Ninjas。这里的问题是,数据库中的数据并不总是像我上面所

以下是关于这个问题的一些背景资料

我们有一个车辆数据库。数据从第三方购买并导入。数据库中的某些列的值中有符号(商标、版权等)

范例

川崎忍者®&tm

我们有一个控制器,用于处理从数据库显示车辆的操作,但路线中的一个参数用作从数据库提取数据的标准

所以我们会有这样的路线

/川崎/忍者

这将显示所有川崎忍者自行车。控制器中只有一个操作,它从路由Kawasaki和Ninja中获取值,并生成SQL语句以从数据库中提取所有Kawasaki Ninjas。这里的问题是,数据库中的数据并不总是像我上面所说的那样干净,而是有不同的符号

有没有一个优雅的解决方案,我可以使用zend提供的路由轻松地在数据库中查找数据。根据业务规则,在URL中使用特殊字符不是有效的解决方案,因此已经排除了这种可能性。我们还研究了清理数据库中的数据和删除任何不需要的符号。但是,这需要更改数据导入的方式,或者让脚本在数据库中运行并进行清理。我们希望能够保留数据,避免对数据库进行任何类型的通配符搜索。这种映射需要能够以从数据库到url和从url到数据库的两种方式进行


提前感谢

您是否可以向数据库中添加一个字段,该字段是路线的清理版本? 因此,以您的示例为例,将“/川崎/忍者”放在路线字段中。这会使其余数据保持不变


可能更快的方法是再创建两个表。一个包含整数id的路线,另一个将路线映射到匹配的车辆。这将允许车辆拥有多条仍将映射到其上的路线。

您是否可以向数据库中添加一个作为路线清理版本的字段? 因此,以您的示例为例,将“/川崎/忍者”放在路线字段中。这会使其余数据保持不变

可能更快的方法是再创建两个表。一个包含整数id的路线,另一个将路线映射到匹配的车辆。这将允许一辆车有多条路线仍然可以映射到它