本文实例讲述了thinkphp 3.2框架视图模型 实例视图查询结果的二维数组合并操作。分享给大家供大家参考,具体如下:
使用视图模型查询的时候 结果是这样的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
array (6) { [0] => array (5) { [ "picTitle" ] => string(7) "标题2" [ "picCategroy" ] => string(6) "海报" [ "picAuthor" ] => string(12) "星耀学园" [ "picPostTime" ] => string(19) "2014-11-26 11:59:50" [ "pictureurl" ] => string(55) "attachment/picture/uploadify/20141126/547550278b7db.jpg" } [1] => array (5) { [ "picTitle" ] => string(7) "标题2" [ "picCategroy" ] => string(6) "海报" [ "picAuthor" ] => string(12) "星耀学园" [ "picPostTime" ] => string(19) "2014-11-26 11:59:50" [ "pictureurl" ] => string(55) "attachment/picture/uploadify/20141126/54755027ab89b.jpg" } [2] => array (5) { [ "picTitle" ] => string(7) "标题2" [ "picCategroy" ] => string(6) "海报" [ "picAuthor" ] => string(12) "星耀学园" [ "picPostTime" ] => string(19) "2014-11-26 11:59:50" [ "pictureurl" ] => string(55) "attachment/picture/uploadify/20141126/547550273b753.jpg" } [3] => array (5) { [ "picTitle" ] => string(7) "标题2" [ "picCategroy" ] => string(6) "海报" [ "picAuthor" ] => string(12) "星耀学园" [ "picPostTime" ] => string(19) "2014-11-26 11:59:50" [ "pictureurl" ] => string(55) "attachment/picture/uploadify/20141126/54755027d8488.jpg" } [4] => array (5) { [ "picTitle" ] => string(33) "同步写入信息和附件表里" [ "picCategroy" ] => string(6) "海报" [ "picAuthor" ] => string(12) "星耀学园" [ "picPostTime" ] => string(19) "2014-11-20 16:05:16" [ "pictureurl" ] => string(55) "attachment/picture/uploadify/20141120/546da0746edb8.png" } [5] => array (5) { [ "picTitle" ] => string(33) "同步写入信息和附件表里" [ "picCategroy" ] => string(6) "海报" [ "picAuthor" ] => string(12) "星耀学园" [ "picPostTime" ] => string(19) "2014-11-20 16:05:16" [ "pictureurl" ] => string(55) "attachment/picture/uploadify/20141120/546da0784831c.png" } } |
想要的结果是这样
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
array (2) { [ "0" ] => array (5) { [ "picTitle" ] => string(7) "标题2" [ "picCategroy" ] => string(6) "海报" [ "picAuthor" ] => string(12) "星耀学园" [ "picPostTime" ] => string(19) "2014-11-26 11:59:50" [ "pictureurl" ] => string(223) "attachment/picture/uploadify/20141126/547550278b7db.jpg,attachment/picture/uploadify/20141126/54755027ab89b.jpg,attachment/picture/uploadify/20141126/547550273b753.jpg,attachment/picture/uploadify/20141126/54755027d8488.jpg" } [ "1" ] => array (5) { [ "picTitle" ] => string(33) "同步写入信息和附件表里" [ "picCategroy" ] => string(6) "海报" [ "picAuthor" ] => string(12) "星耀学园" [ "picPostTime" ] => string(19) "2014-11-20 16:05:16" [ "pictureurl" ] => string(111) "attachment/picture/uploadify/20141120/546da0746edb8.png,attachment/picture/uploadify/20141120/546da0784831c.png" } } |
完整实例开始
控制器 里 根据生成的SQL 语句在phpmyadmin里运行 出现排序规则不一致的情况 两个表的字段 排序规则不一致 整表排序规则一样的情况下
PictureController.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public function Pic(){ $PicModel =D( 'PicView' ); /* dump($PicModel);*/ $s1 = $PicModel ->field( 'picTitle,picCategroy,picAuthor,picPostTime,pictureurl' )->order( 'picPostTime desc' )->select(); /* dump($PicModel->getLastSql()); 查询最后的sql 语句*/ /* dump($s1);*/ $zhengli = $this ->mergePictureURL( $s1 ); /* dump( $zhengli );*/ $this ->assign( "content" , $zhengli ); $this ->display(); } |
视图模型里
PicViewModel.class.php
1
2
3
4
5
6
7
8
9
10
|
<?php namespace Home\Model; use Think\Model\ViewModel; class PicViewModel extends ViewModel{ public $viewFields = array ( 'Picture' => array ( 'picTitle' , 'picToken' , 'picCategroy' , 'picAuthor' , 'picPostTime' , '_as' => 'Picture' ), 'PictureAttachment' => array ( 'pictureid' , 'pictureurl' , 'creattime' , '_on' => 'Picture.picToken = PictureAttachment.pictureid' , '_as' => 'PictureAttachment' ), ); } |
视图里
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<!DOCTYPE html> < html > < head lang = "en" > < meta charset = "UTF-8" > < title ></ title > </ head > < body > < volist name = "content" id = "data" > <!-- {$data.picTitle} {$data.picAuthor}发布时间:{$data.picPostTime}--> {$data.picTitle} </ volist > </ body > </ html > |
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/xxx91hx/p/4125777.html