thinkphp 使用paginate 分页 foreach 循环体内不能操作数据的解决办法

本文介绍了一个基于PHP的商品查询接口实现方案。该方案通过接收商品名称参数进行模糊匹配查询,并返回符合条件的商品列表。此外,还实现了图片链接转换功能,确保商品图片能够正常显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//官网商品链接
public function index(){
    $goods_name = I('goods_name'); // goods_name
    $where = [
        'is_on_sale' => 1,
        'endtime' => ['>',time()]
    ];
    $where['goods_content|goods_name'] = ['like', '%' . $goods_name . '%'];
    $goodslist = Db::name('goods')->field('goods_id,goods_name,goods_content,endtime,shop_price,original_img')
        ->where($where)
        ->whereNull('delete_time')
        ->paginate(25);

    $data = $goodslist->all();
    $oss = new AliyunOss(true);
    $bucket = Config::get('aliyun.bucket');
    foreach($data as $k=>&$v){
        $v['original_img'] = $oss->getCurlofimgUsenoAuth($bucket, $v['original_img']);
        $goodslist[$k] = $v;
    }

    //dump($goodslist);exit;
    Response::create(['data' =>$goodslist , 'code' => 2000, 'message' => '获取成功'], 'json')->header($this->header)->send();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值