Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

geetpurwar's avatar

DB Builder Query

Hi,

I am not able to take value of variable outside. Let me know of what I am doing wrong?

$sentArray = array(); //Match if existing Subscriber has already been sent the message

array_push($sentArray, 0);

$query = \DB::table('subscribers');

$query
->select('id', 'endpoint', 'publicKey', 'authToken')
->where('website_id', $websiteId)
->orderBy('id')->chunk(200, function($subscribers) use($sentArray){
    foreach($subscribers as $subscriber){
        array_push($sentArray, $subscriber->id);
    }
});

dd($sentArray);

Result is always this:

array:1 [▼
  0 => 0
]
0 likes
3 replies
rawilk's avatar

Try passing it by reference: use (&$sentArray)

2 likes
geetpurwar's avatar

@wilk_randall Thanks it worked. I never knew we could use prepend '&' with it. Any reference link to understand it more.

Thanks again.

Please or to participate in this conversation.