Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Bir controller içinde aşağıdaki gibi bir kod çalıştırıyorum.

foreach (Urlkayitlari::all() as $url) {
$siteler=$url->urls;
}

veri tabanımda bulunan url listesini almak istiyorum ve aşağıda bulunan guzzle kodumda kullanıyorum

$client = new Client;
$promises = (function () use ( $siteler, $client) {
yield $client->requestAsync('GET',$siteler);
})();

bana verdiği çıktıda tüm urleler bitişik (https://example.comhttps://example2.comhttps://example3.com ) gibi ve guzzle kodumda sadece veritabanımdan gelen son url (https://example3.com) çalışıyor.
Benim istediğim veritabanımdan gelen 3 url yede istek göndermek.
Belki de guzzle bunu desteklemiyordur. Yani aynı anda çoklu url lere istek göndermiyordur.
Eğer desteklemiyor ise Laravel Task Scheduling'den url listesini alarak her bir url yi tek tek ve sıra ile conrollerime göndermek mümüknmüdür.Mümkünse bile çok mu saçma olur.

Yardım ve desteğiniz için şimdiden teşekkür ederim.

    aeneas $siteler=$url->urls; diyerek $siteler değişkenini her iterasonda eziyorsunuz. Onu bir array içinde tutmanız lazım.

      mgsmus malasef bunu başaramadım. Nasıl yapacağım hakkında yardımınız beni çok mutlu eder.

        koti42
        yok olmuyor bu seferde dizi değil diyor.
        İnanın 1 ayımı verdim denemediğim şey kalmadı, gouute, guzzle, symfony domcrawler, simplepie, laravel http client, bu kadar zor olmamalı, istediğim şey diye düşünüyorum. Bu kadar emeğe başkası kendi dilini yazardı...
        altı üstü veritabanından 3 tane feed urlsi alıcam, bu 3 rss feed sayfası içindeki başlıkları ve linkleri alıcam.
        1 ay ya 1 ay dır gözlerim kör oldu. 1 aydır günde 10 saat buna uğraşıyorum. anlatamam nasıl darlandığımı , an meselesi laptopu kırıp, kendimi balkondan atmam....

          aeneas

          use Illuminate\Http\Client\Pool;
          use Illuminate\Support\Facades\Http;
          
          $urls = Urlkayitlari::pluck('urls')
              ->toArray();
          
          $responses = Http::pool(function(Pool $pool) use ($urls) {
              foreach($urls as $url) {
                  $requests[] = $pool->get($url);
              }   
              
              return $requests;
          });

          İlla generator kullanacağım diyorsanız da

          use Illuminate\Http\Client\Pool;
          use Illuminate\Support\Facades\Http;
          
          $urls = Urlkayitlari::pluck('urls')
              ->toArray();
          
          $responses = Http::pool(function(Pool $pool) use ($urls) {
              return iterator_to_array((function() use ($urls, $pool) {
                  foreach($urls as $url) {
                      yield $pool->get($url);
                  }
              })());
          });

            mgsmus çok teşekkür ederim hocam sonunda, yardiminizla çalıştı.