我收到此错误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 [▶]}
2 回答
白板的微信
TA贡献1883条经验 获得超3个赞
以下代码通过变量 $award ($this->$award) 的值调用 $this 的属性意味着如果 $award 确实包含 $this 的字符串匹配属性,您应该获取该属性的值。
相反, $award 包含一些看起来像字符串化的 json 对象的东西
{"id":1,"title":"abddad","description":"abddad.","created_at":"2019-06-27 22:25:18","updated_at":"2019-06-27 22:25:18"}
然而 $this 不包含这样的变量。
尝试在第 5 行执行以下代码,应该可以
@if (count($award) === 2)
- 2 回答
- 0 关注
- 182 浏览
添加回答
举报
0/150
提交
取消