Как выполнить l oop через все активы и проверить наличие ключа, если ключ совпадает, продолжить и отобразить все активы? PHP / Laravel - PullRequest
0 голосов
/ 26 марта 2020

У меня есть коллекция $liquidAssets, и я хочу l oop через все из них и отображать только $liquidAssets, который соответствует key, как я могу это сделать? Нужно ли сначала сделать коллекцию массивом?

public function displayAssets()
{
    $name = 'name';
    $token = 'token';
    $themeId = '123';

    $assetAPI = new Asset($name, $token, $themeId);

    $assets = $assetAPI->all();
    $liquidAssets = collect($assets->assets)->where('content_type', 'text/x-liquid');
    $liquidAssets = $liquidAssets->all();

    foreach($liquidAssets as $asset) {
        $response = $assetAPI->get($asset->key);
        dd($response);
    }
}

Лог c таков:

  • l oop через все активы
  • проверьте, есть ли в массиве ключ ld + json
  • показать все активы с помощью ld + json

Теперь я получаю только активы одного актива

1 Ответ

0 голосов
/ 26 марта 2020
        public function displayAssets()
        {
            $name = 'name';
            $token = 'token';
            $themeId = '123';

            //$assetAPI = new Asset($name, $token, $themeId); // Is this model populated with assets rows? if yes this must be: 

            $liquidAssets = Asset::where('content_type', 'text/x-liquid')->get(); // already filtered

            //$assets = $assetAPI->all(); // this is wrong since you are trying to get data from a new object 
            //$liquidAssets = collect($assets->assets)->where('content_type', 'text/x-liquid'); // same here
            //$liquidAssets = $liquidAssets->all(); // same here

            foreach($liquidAssets as $asset) {
                $response = $assetAPI->get($asset->key);
                dd($response);
            }
        }
...