databaselaravelbulksms

save the record of bulk sms sent into db laravel


i have taken the id and mobile_num from users table.i have to insert that id name in this table as user_id,mobile_num,and status(0,1) into another table(wc_sms_status).sendSMSFunction is working fine.

  public function SendBulkSms()
  {  
    $usersNumber = User::select('id','mobile_num')->whereIn('id', [5,6,7,8])->get();  
    foreach($usersNumber as $userNumber)
    {  
    if (!$userNumber->mobile_num) 
    {
        $this->sendSmsFunction($userNumber->mobile_num);  
        DB::table('wc_sms_status')->insert([
            ['user_id' => 'id'],
            ['mobile_num' => 'mobile_num'] // set the status=1 // how query can be changed?
        ]);
       
    } 
    elseif($userNumber->mobile_num == exist && status == 0)
    {
        $this->sendSmsFunction($userNumber->mobile_num);
        $this->save();
    }
    else{

       }
   }
}

Solution

  • Do this :

        public function SendBulkSms()
          {  
    //assuming there is a relationship between your model users and wc_sms_status called wcSmsStatus
    
            $usersNumber = User::with('wcSmsStatus')->select('id','mobile_num')->whereIn('id', [5,6,7,8])->get();  
            foreach($usersNumber as $userNumber)
            {  
              if (!$userNumber->mobile_num) 
                {
                    $this->sendSmsFunction($userNumber->mobile_num);  
                    DB::table('wc_sms_status')->insert([
                        'user_id' => $userNumber->id,
                        'mobile_num' => $userNumber->mobile_num, 
                        'status' => 1, 
                    ]);
                } elseif ($userNumber->mobile_num && $userNumber['wcSmsStatus']->status === 0)
                    {
                       $this->sendSmsFunction($userNumber->mobile_num);
                       $this->save();
                    } else {
        
                    }
            }
        }