最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

ThinkPHP5&5.1框架关联模型分页操作示例

来源:动视网 责编:小采 时间:2020-11-27 14:43:17
文档

ThinkPHP5&5.1框架关联模型分页操作示例

ThinkPHP5&5.1框架关联模型分页操作示例:本文实例讲述了ThinkPHP5&5.1框架关联模型分页操作。分享给大家供大家参考,具体如下: 利用数据库的分页通常比较简单,但在实际项目中,我们往往需要处理复杂的数据,例如多表操作,这时候我们就需要利用模型层的关联操作得到最终想要的数据,而这些数据我们
推荐度:
导读ThinkPHP5&5.1框架关联模型分页操作示例:本文实例讲述了ThinkPHP5&5.1框架关联模型分页操作。分享给大家供大家参考,具体如下: 利用数据库的分页通常比较简单,但在实际项目中,我们往往需要处理复杂的数据,例如多表操作,这时候我们就需要利用模型层的关联操作得到最终想要的数据,而这些数据我们


本文实例讲述了ThinkPHP5&5.1框架关联模型分页操作。分享给大家供大家参考,具体如下:

利用数据库的分页通常比较简单,但在实际项目中,我们往往需要处理复杂的数据,例如多表操作,这时候我们就需要利用模型层的关联操作得到最终想要的数据,而这些数据我们其实也是可以利用ThinkPHP5&5.1内置的分页引擎进行分页的。

卖的车辆我们称之为车源,车源和车主之间是多对一关系(车主可以有多辆车,一辆车只属于一个车主);车源和车辆图片之间是一对多关系(一辆车有多个图片,一个图片只属于一辆车);车辆还有自定义属性,它们之间是多对多关系,车辆的级别在车源表是个数字,具体名称需要到级别表获取。。可以看出,这块是非常复杂的,完全使用数据库操作会非常复杂,所以我们选择使用模型层进行处理。

首先建立模型之间的关系:

public function selfattribute()
{
 return $this->belongsToMany("Selfattribute",'cars_selfattribute','selfattribute_id','cars_id');
}
public function carsimg()
{
 return $this->hasMany('Carsimg');
}
public function member()
{
 return $this->belongsTo('\app\index\model\Member');
}

同时对应的模型也要建立对应的方法。

在控制器层写方法:

public function lst()
{
 $cars_model = model("Cars");
 $cars_list = $cars_model->getCarsList();
 $this->assign("cars_list",$cars_list);
 // dump($cars_list);
 return view();
}

其中getCarsList()方法在模型层中实现:

 public function getCarsList()
 {
 $cars_list = Cars::paginate(2)->each(function($value,$key){
 $level_find = db("level")->where('id',$value['level'])->value('name');
 $value['level_name'] = $level_find;
 $value->carsimg;
 $value->member;
 $value->selfattribute;
 });
 return $cars_list;
 }

模板上写法同普通分页:

<div class="ibox-content">
 <table class="table table-bordered">
 <thead>
 <tr>
 <th>ID</th>
 <th>名称</th>
 <th>车主</th>
 <th>状态</th>
 <th>操作</th>
 </tr>
 </thead>
 <tbody>
 {volist name="cars_list" id="vo"}
 <tr>
 <td>{$vo.id}</td>
 <td><a href="{:url('index/cars/carsdetails',array('id'=>$vo.id))}" rel="external nofollow" >{$vo.full_name}</a></td>
 <td>{$vo.member.member_name}</td>
 <td>
 {switch $vo.status}
 {case 1}上架{/case}
 {case 0}下架{/case}
 {case -1}已售{/case}
 {default /}未审核
 {/switch}
 </td>
 <td>
 <div class="btn-group open">
 <button data-toggle="dropdown" class="btn btn-primary dropdown-toggle" aria-expanded="true">操作 <span class="caret"></span>
 </button>
 <ul class="dropdown-menu">
 <li><a href="">修改</a>
 </li>
 <li><a href="">删除</a>
 </li>
 </ul>
 </div>
 </td>
 </tr>
 {/volist}
 </tbody>
 </table>
 {$cars_list|raw}
</div>

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

文档

ThinkPHP5&5.1框架关联模型分页操作示例

ThinkPHP5&5.1框架关联模型分页操作示例:本文实例讲述了ThinkPHP5&5.1框架关联模型分页操作。分享给大家供大家参考,具体如下: 利用数据库的分页通常比较简单,但在实际项目中,我们往往需要处理复杂的数据,例如多表操作,这时候我们就需要利用模型层的关联操作得到最终想要的数据,而这些数据我们
推荐度:
标签: php 示例 模型
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top