用TP5的Model操作数据库时,常常会遇到以数组为参数进行查询,但会发现查询结果往往是自动按照数组元素的大小顺序排列的(一般都是由小到大),这种查询得到的结果往往不是我们所需要的, 我们有时会希望查询结果也按照数组元素的排列顺序进行排序,以此就需要对order()进行自定义了,具体操作如下: 1丶先使用implode()将数组转化为字符串(*注意第一个参数应为:",",作用将数组元素以,逗号连接,第二个参数是查询条件) 列: $str = implode(",", $id); 2丶编写查询语句,并使用field()对order()方法进行自定义 列: $product=self::where("id","in",$str)->order("field(id,$str)")->select(); *注意:$id为一维数组,implode(",",$id)函数将数组id转化为字符串$str,order()里的'field'只接收字符串. 当然这些都只是我的一些浅显理解,不足之处还望指出