【问题标题】:how to set value we get from controller in view如何在视图中设置我们从控制器获得的值
【发布时间】:2021-06-25 08:24:25
【问题描述】:

我在刀片中有一个视图需要来自 api 的某些数据,如果我 dd 值它会给我一个我需要的正确值,但如果我尝试回显该值,那么它会弹出这个错误 未定义属性:stdClass::$data

这是我在刀片视图中的代码

@php
  $a = new stdClass();
  $a = $vehicleController::getDriverName($vehicle->driver_id)->data[0]->name;
  echo $a;
@endphp

这是如果我 dd($a) https://i.stack.imgur.com/3v7VM.png 的值

这是完整的数据https://i.stack.imgur.com/f9Kyu.png

【问题讨论】:

    标签: laravel rest controller laravel-blade laravel-7


    【解决方案1】:

    我不明白您为什么要使用 echo 在刀片中显示数据。您应该避免将应用程序逻辑放在视图中。相反,请考虑在返回视图之前调用 getDriverName 方法,然后按照此处文档中的说明将数据传递给刀片:https://laravel.com/docs/8.x/blade#passing-data-to-components

    正确完成后,您可以像这样访问刀片中的数据:

    <div>
        {{ $vehicle->data[0]->name }}
    </div>
    

    【讨论】:

    • 在我的刀片中,我有具有 driver_id 的车辆(我 foreach 车辆),我需要显示名称,所以我调用了 getDriverName 方法,该方法从我的 API 中返回名称
    • 好吧,那么最好将所有车辆的集合以及相应的驾驶员数据传递给视图,并使用 Blade Loops 遍历数据。 laravel.com/docs/8.x/blade#loops
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    相关资源
    最近更新 更多