主頁 > 知識庫 > ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁操作示例

ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁操作示例

熱門標(biāo)簽:外呼系統(tǒng)撥打暫時無法接通 廣州防封卡外呼系統(tǒng)多少錢一個月 長春人工外呼系統(tǒng)服務(wù)商 怎么向銷售公司推銷外呼系統(tǒng) 高德地圖標(biāo)注家 江西手機(jī)自動外呼防封系統(tǒng)是什么 仁和怎么申請400開頭的電話 哪里辦理400電話 廣東地市地圖標(biāo)注

本文實(shí)例講述了ThinkPHP55.1框架關(guān)聯(lián)模型分頁操作。分享給大家供大家參考,具體如下:

利用數(shù)據(jù)庫的分頁通常比較簡單,但在實(shí)際項(xiàng)目中,我們往往需要處理復(fù)雜的數(shù)據(jù),例如多表操作,這時候我們就需要利用模型層的關(guān)聯(lián)操作得到最終想要的數(shù)據(jù),而這些數(shù)據(jù)我們其實(shí)也是可以利用ThinkPHP55.1內(nèi)置的分頁引擎進(jìn)行分頁的。

賣的車輛我們稱之為車源,車源和車主之間是多對一關(guān)系(車主可以有多輛車,一輛車只屬于一個車主);車源和車輛圖片之間是一對多關(guān)系(一輛車有多個圖片,一個圖片只屬于一輛車);車輛還有自定義屬性,它們之間是多對多關(guān)系,車輛的級別在車源表是個數(shù)字,具體名稱需要到級別表獲取。。。??梢钥闯?,這塊是非常復(fù)雜的,完全使用數(shù)據(jù)庫操作會非常復(fù)雜,所以我們選擇使用模型層進(jìn)行處理。

首先建立模型之間的關(guān)系:

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');
}

同時對應(yīng)的模型也要建立對應(yīng)的方法。

在控制器層寫方法:

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

其中g(shù)etCarsList()方法在模型層中實(shí)現(xiàn):

  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>狀態(tài)/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>

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • ThinkPHP5.1+Ajax實(shí)現(xiàn)的無刷新分頁功能示例
  • thinkphp5框架前后端分離項(xiàng)目實(shí)現(xiàn)分頁功能的方法分析
  • thinkphp5+layui實(shí)現(xiàn)的分頁樣式示例
  • thinkPHP5框架分頁樣式類完整示例
  • thinkPHP5框架實(shí)現(xiàn)基于ajax的分頁功能示例
  • thinkPHP5分頁功能實(shí)現(xiàn)方法分析
  • ThinkPHP5分頁paginate代碼實(shí)例解析

標(biāo)簽:黔東 惠州 廈門 湘西 梅河口 濮陽 海北 文山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁操作示例》,本文關(guān)鍵詞  ThinkPHP5,amp,5.1,框架,關(guān)聯(lián),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁操作示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁操作示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章