Die Lösung für die Unfähigkeit, Daten im Hauptteil der foreach-Schleife nach thinkphp5.x zu verarbeiten, verwendet paginierte Paginierung


Methode 1. Verwenden Sie toArray(), um die abgefragten Seitendaten in ein Array umzuwandeln.
$data = $goods_list->toArray();

Methode 2, $data = $goods_list->all();

Ersetzungsverarbeitung
<?php
//Die Paginierungsfunktion im Modell
public function pageQuery(){    
    $rs = $this->where($where)->field(true)->order('id desc')->paginate( )
    ->each(function($item, $key){         if($item['status']==1){             $item['name1'] = $item['name2'];         }         $item['imgSize ' ] = round($item['imgSize']/1024/1024,2);         return $item;     });     return $rs; } ?>









  

Wenn andere Tabellen daran beteiligt sind, lautet der Code wie folgt:
<?php
//Paginierungsfunktion in der
öffentlichen Modellfunktion pageQuery(){    
    $rs = $this->where($where)->field(true)->order ('id desc')->paginate()   
    ->each(function($item, $key){         $urs = Db::name('u')->where('isShow',1)->select( );         foreach ($urs as $rkey=>$rv){             if($item['userScore']>=$rv['startScore'] && $item['userScore']<$rv['endScore']) {                $item['userRank'] = $rv['rankName'];             }         }         return $item;     });     return $rs; } ?>











  

Wenn jeweils externe Parameter beteiligt sind, lautet der Code wie folgt:
<?php
//Die Paging-Funktion im Modell
public function pageQuery(){ //Parameterwerte aus anderen Tabellen abrufen, einmal erhalten, kann jeder wiederverwendet werden $ urs = Db ::name('u')->where('isShow',1)->select();  $rs = $this->where($where)->field(true)->order(' id desc' )->paginate()  ->each(function($item, $key) use ($urs){  //Externe Parameter verwenden $urs foreach ($urs as $rkey=>$rv){ if($ item['userScore']>=$rv['startScore'] && $item['userScore']<$rv['endScore']){ $item['userRank'] = $rv['rankName'] ; } } return $item; }); return $rs; } ?>















 

Supongo que te gusta

Origin blog.csdn.net/happyzhlb/article/details/127126086
Recomendado
Clasificación