1. 程式人生 > 其它 >記錄一次在列表裡顯示關聯表對應的名稱的過程

記錄一次在列表裡顯示關聯表對應的名稱的過程

技術標籤:thinkphp學習phpthinkphp

之前在列表裡顯示的是id。如圖:雜誌分類這裡之前顯示的是id,需要修改成顯示雜誌分類關聯表的cat_name欄位的值。
在這裡插入圖片描述
在返回的數組裡加上:

 $list[$k]['classify_id']  = Db::name('category')->where('id',$v['classify_id'])->value('cate_name');

代表的意思:

thinkphp獲取資料庫中某一列資料的某個欄位的值使用value()方法。where是查詢條件。

這麼寫有點初級,最好是在model裡取數。

後臺和介面都有相同的資料返回,定義了一個common來共用。

use addons\magazine\common\controller\Magazine

  public function ShowData($param,$where){
        $param['page'] =  $param['page'] ?? '1';
        $param['limit']  =$param['limit'] ?? '10000000';
        $list = \addons\magazine\model\Magazine::page($param['page'])->limit($param['limit'])->where($where
)->select(); $status = [1=>'釋出',2=>'上線',3=>'草稿',4=>'下線']; foreach ($list as $k=>$v){ $list[$k]['status'] = $status[$v['status']]; $list[$k]['classify_id'] = Db::name('category')->where('id',$v['classify_id'])->value(
'cate_name'); $list[$k]['cover_image'] = 'http://'.$_SERVER['HTTP_HOST'].$v['cover_image']; $image= explode(',',$v['impurities_image']); foreach ($image as $key=>$value){ $image[$key] ='http://'.$_SERVER['HTTP_HOST'].$value; $list[$k]['impurities_image'] = $image; } } return ['list'=>$list,'total'=> \addons\magazine\model\Magazine::count()]; }