TP5分頁函數paginate中的each()傳參

在使用each()時,each()裏面只能使用局部變量,當使用外部變量時會報未定義變量的錯誤,可是有時候咱們還必須使用外部變量,就須要想是時做用域的問題,可是若是使用 global 全局雖然不報錯,可是打印出來是 null ,因此最終使用 use 解決, 若是在函數中須要修改變量的值,會發如今函數內,變量的值改變了,可是函數外面的變量值仍是沒變,若是想使函數內外的變量的值同時改變,在 use 前面加 「& 」便可。函數

$list = Db::view('drugall')
            ->view('drug_class','id drugclass_id','drugall.drugclass_id = drug_class.id')
            ->where($map)
            ->paginate(15,false,['query'=>request()->param()])
            ->each(function ($item,$key) use(&$userId)
            {
                $item['time'] = Db::view('drug','createtime')
                    ->view('draft_user','draftkind','drug.id = draft_user.draftId')
                    ->where(['drug.drugid'=>$item['id'],'draft_user.userid'=>$userId])
                    ->select();
                return $item;
            });
        return $list;
相關文章
相關標籤/搜索