Daily Archives: 2016-04-09

ORM设计

首希望本文的读者拥有一定的ORM框架设计经验,或者熟悉ORM原理,最好是自己动手实现过ORM映射 如果没有请参考Doctrine或者Zend DB实现 在传统的ORM框架中都会有这样一个需求:”将一个一维数组或二维数组插入或替换到数据库中” 关于一维数组的处理这里不讨论,这里只关心二维数组 如下一个二维数组(这里使用php编码比较通俗易懂),假设某张表有三个字段 a,b,c $arr=array( array( ‘a’=>1, ‘b’=>2, ), array( ‘a’=>3, ‘b’=>4, ) ); 这种数组每一维键和键顺序完全相同 只要取出第一维键值作为 INSERT INTO `table_name`(#####) 括号里的键值 然后把所有维的值拼起来作为 VALUES部分就解决了,问题是不是所有程序员都会遵循使用规则,有可能传给你一个这样的数组 $arr=array( array( ‘a’=>1, ‘b’=>2, ), array( ‘a’=>3, ‘b’=>4, ‘c’=>5, ) ); 这样就会导致那个SQL初学者常见的columns does not match … Continue reading

Posted in 默写 | Leave a comment