“未定义的属性:Illuminate\View\Engines\CompilerEngine::$

我收到此错误


Undefined property: Illuminate\View\Engines\CompilerEngine::${"id":1,"title":"abddad","description":"abddad.","created_at":"2019-06-27 22:25:18","updated_at":"2019-06-27 22:25:18"} (View: /home/vagrant/projectos/projectofinal/ProjectoFinal/resources/views/index.blade.php)

代码如下:


@foreach (\App\Award::all()->take(3) as $award)

  <div class="row">

    <div class="col-lg-12"> 

      <ul class="timeline">

          @if (count($this->$award) === 2)

          <li>

          <div class="timeline-image">

            <img class="rounded-circle img-fluid" src="img/awards/medal.png">

          </div>

          @else 

          <li class="timeline-inverted">

          <div class="timeline-image">

            <img class="rounded-circle img-fluid" src="img/awards/medal.png">

          </div>

          @endif

          <div class="timeline-panel">            

            <div class="timeline-heading">

              <h4 class="subheading">{{ $award->title }}</h4>

            </div>

            <div class="timeline-body">

              <p class="text-muted">{{ $award->description }}</p>

            </div>          

          </div>

        </li>

      </ul>       

    </div>

  </div>

  @endforeach

如果我使用 $award 而不是 $this->award


我有错误:


count(): Parameter must be an array or an object that implements Countable (View: /home/vagrant/projectos/projectofinal/ProjectoFinal/resources/views/index.blade.php)

在第 5 行获取错误异常“@if (count($this->$award) === 2)”


我应该怎么做?


希望这有助于 dd($award):


  Award {#692 ▼

  #fillable: array:2 [▶]

  #connection: "mysql"

  #table: "awards"

  #primaryKey: "id"

  #keyType: "int"

  +incrementing: true

  #with: []

  #withCount: []

 #perPage: 15

 +exists: true

 +wasRecentlyCreated: false

 #attributes: array:5 [▶]

 #original: array:5 [▶]

 #changes: []

 #casts: []

 #dates: []

 #dateFormat: null

 #appends: []

 #dispatchesEvents: []

 #observables: []

 #relations: []

 #touches: []

 +timestamps: true

 #hidden: []

 #visible: []

 #guarded: array:1 [▶]

}


九州编程
浏览 183回答 2
2回答

白板的微信

以下代码通过变量 $award ($this->$award) 的值调用 $this 的属性意味着如果 $award 确实包含 $this 的字符串匹配属性,您应该获取该属性的值。相反, $award 包含一些看起来像字符串化的 json 对象的东西{"id":1,"title":"abddad","description":"abddad.","created_at":"2019-06-27&nbsp;22:25:18","updated_at":"2019-06-27&nbsp;22:25:18"}然而 $this 不包含这样的变量。尝试在第 5 行执行以下代码,应该可以@if&nbsp;(count($award)&nbsp;===&nbsp;2)

宝慕林4294392

我是这样解决的@if&nbsp;(($award->id)&nbsp;%&nbsp;2&nbsp;==&nbsp;"0")谢谢您的帮助!
打开App,查看更多内容
随时随地看视频慕课网APP