本文实例讲述了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