記錄一次在列表裡顯示關聯表對應的名稱的過程
阿新 • • 發佈:2020-12-15
之前在列表裡顯示的是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()];
}