为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
九州编程 2021-09-05 20:57:57
我收到此错误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)


查看完整回答
反对 回复 2021-09-05
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

我是这样解决的

@if (($award->id) % 2 == "0")

谢谢您的帮助!


查看完整回答
反对 回复 2021-09-05
  • 2 回答
  • 0 关注
  • 182 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信