使用带有 Laravel 5.4 的 alaouy/Youtube 包从 Youtube 获取视频时出错

Errors using alaouy/Youtube package with Laravel 5.4 for fetching videos from Youtube

我在 Laravel 5.4 上使用 alaouy/Youtube 软件包。它正在从 Youtube 获取视频,但出现错误。

// view
@extends('welcome') 
    @section('content')
       <ul>
           @foreach($videos as $data)
                <div class="well">
                    {{ $data->id->videoId}}
               </div>
           @endforeach
       </ul>
   @endsection

// controller
$videos = Youtube::search($search);
return view('search',compact('videos'));

我能够访问对象中除 {{$data->id->videoId}}

之外的所有数据
// Error
Undefined property: stdClass::$videoId (View: 
C:\Users\derrick\testyoutubeapi\resources\views\search.blade.php)

您没有收到所需的数据,因此收到未定义的错误消息 属性。

换句话说,您请求的 videoId 字段对于某些类型不存在,例如 playlist (playlistId),或者可能是 channel (channelId)

所以你的问题解决方案应该只是让你的代码在视图中检查在查询之前是否有一个名为 videoId 的字段:

           @foreach($videos as $data)
             @if(isset($data->id->videoId)) // field available?
            <div class="well">
                {{ $data->id->videoId}}
             @endif // end if
           </div>
       @endforeach