سامان
4 سال پیش توسط سامان مطرح شد
2 پاسخ

استفاده از chunk

سلام دوستان . من یک جدول با حجم زیاد دارم و میخوام اطلاعات برخی از رکوردها را در یک آرایه بریزم مثلا میخوام اطلاعاتی که تاریخ ثبت اونا آبان باشه را واکشی کنم . از تابع chunk میخوام استفاده کنم . برای اینکار کد زیر را نوشتم

    Question::chunk(۲۰۰,function($questions){
       $dataArray = array();
      foreach($questions as $key => $question)
           {
               $nov =  DB::table('banks')->where('question_id',$question->id)->where(\DB::raw('substr(myTime,۶,۲)'),'=','۰۸')->count();

                   array_push($dataArray,array('qCode' => $question->id ,
                                                'qName' => $question->name ,
                                                'nov' => $nov ,
                                                'NOC' => $question->selection ,                                                                                                        
                                                'qSection' => $question->section->name ));

           }

    });

انتظار داشتم که خروجی کد بالا آنچیزی که میخواستم باشه و فکر کنم اینجوری هست ولی نمیتونم آنرا در خارج از تابع نشون بدم . وقتی این عبارت رو مساوی یک متغیری قرار بدم و بعدش آون متغیر را dd کنم مقدار true بر میگردونه . چجوری مقدار آرایه نهائی رو بهش دسترسی داشته باشم ؟ الان فکر میکنم آرایه ای که خواستم با کد بالا درست شده ولی بیرون از تابع بهش دسترسی ندارم . ممنون


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

اینطوری میتونید بهش دسترسی داشته باشید

$dataArray = [];
    Question::chunk(200,function($questions){

      foreach($questions as $key => $question)
           {
               $nov =  DB::table('banks')->where('question_id',$question->id)->where(\DB::raw('substr(myTime,6,2)'),'=','08')->count();

                   array_push($dataArray,array('qCode' => $question->id ,
                                                'qName' => $question->name ,
                                                'nov' => $nov ,
                                                'NOC' => $question->selection ,                                                                                                        
                                                'qSection' => $question->section->name ));

           }

    });

سامان
@samanf33 4 سال پیش مطرح شد
0

سلام آقا حسام و عرض تبریک سال نو
وقتی تعریف آرایه را بیرون تابع انجام میدم ، اونجوری که شما گفتید ، خطا میگیره و اونجائیکه میخواد دیتا را در آرایه پوش کنه آرایه رانمیشناسه . برای همین من اولش در خود تابع آرایه dataArray را تعریف کرده بودم . البته خواستم آرایه را بعنوان خروجی تابع برگردانم اونم نشد . اگر بازم راهنمائی کنین ممنون میشم .


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام