You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Livewire组件间传值报错:获取非对象的numero_prestamo_original属性

问题分析与解决方法

这个错误的核心是你尝试访问的$valor并非预期的对象或数组,或者目标属性/键不存在,根源大概率出在JSON数据的解析或结构上,以下是具体排查和解决步骤:

  1. 确认JSON解析后的数据结构
    在Livewire组件加载JSON数据的代码中,加入dd($prestamos)打印数据,明确每个元素的类型是对象还是关联数组,以及是否存在numero_prestamo_original这个属性/键:
// 示例加载JSON的代码
$jsonContent = file_get_contents('你的JSON文件路径');
// 两种解析方式:默认返回对象数组,传true返回关联数组
$prestamos = json_decode($jsonContent);
// $prestamos = json_decode($jsonContent, true);
dd($prestamos); // 查看数据结构
  1. 修正遍历与访问语法
  • 如果dd显示每个$valor是对象,确保所有条目都有numero_prestamo_original属性,同时可以简化遍历写法:
<option value="2022006799">2022006799</option>
@foreach ($prestamos as $valor)
    <option value="{{ $valor->numero_prestamo_original }}">{{ $valor->numero_prestamo_original }}</option>
@endforeach
  • 如果是关联数组,必须使用数组访问符[],且键名要完全匹配(注意大小写、下划线):
<option value="2022006799">2022006799</option>
@foreach ($prestamos as $valor)
    <option value="{{ $valor['numero_prestamo_original'] }}">{{ $valor['numero_prestamo_original'] }}</option>
@endforeach
  1. 排查JSON文件的语法与结构
    检查JSON文件是否存在语法错误(比如逗号缺失、引号不匹配、键名未加引号),这些错误会导致解析后的数据结构异常,部分条目可能变成null或非预期格式。

  2. 添加异常防护
    为了避免单个异常条目导致整个视图报错,可以在遍历中加入判断:

<option value="2022006799">2022006799</option>
@foreach ($prestamos as $valor)
    {{-- 数组类型判断 --}}
    @if(isset($valor['numero_prestamo_original']))
        <option value="{{ $valor['numero_prestamo_original'] }}">{{ $valor['numero_prestamo_original'] }}</option>
    @endif
    {{-- 对象类型判断 --}}
    {{-- @if(isset($valor->numero_prestamo_original))
        <option value="{{ $valor->numero_prestamo_original }}">{{ $valor->numero_prestamo_original }}</option>
    @endif --}}
@endforeach

内容的提问来源于stack exchange,提问作者Jose Rodriguez Duran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 06:45:41