【发布时间】:2021-06-11 02:52:01
【问题描述】:
我有一个具有这种结构的对象,我需要在我的刀片文件中获取 source_id 的名称, 当我尝试访问它时
$data['source_id']['name']
$data->source_id->名称
$data->{'source_id'}->{'name'}
我收到了这个错误
试图获取非对象的属性“名称” 我只是尝试
this $data->source_id,但它返回它的 ID,而不是对象, 有什么建议吗?
{
"id": 4,
"type": "s1",
"source_id": {
"id": 1,
"code": "۱",
"name": "تیل پطرول",
"manager": "نجیب",
"phone": "۰۷۷۲۴۳۴۳۲۱",
"address": "دهمزنگ",
"capacity": "0.00",
"oum_id": 1,
"created_at": "2021-03-02T15:55:20.000000Z",
"updated_at": "2021-03-02T15:55:20.000000Z"
},
"source_type": "STRG",
}
这里是获取数据的函数
public function loadSale($id){
$base = Sale::findOrFail($id);
if ($base->type == "s1") {
$sale = Sale::with(['saleS1.project.pro_data', 'source_id'])->where('id', $id)->first();
$sale['sales'] = $sale->saleS1;
}
return $sale
}
【问题讨论】:
-
你的关系是否命名为 source_id,如果没有,则使用关系名称为
$data->[relation_name]->name。或者data和source关系之间可能存在一些问题 -
你能告诉我们你是如何得到这个 $data 对象的吗?我知道您已使用
return view('view_name', ['data' => $some_data]);将其发送到您的刀片视图。我想知道你是怎么得到那个$some_data对象的 -
更新,关系与source_id同名
-
我猜你的关系名称和外键字段是一样的,这就是为什么你这样做时得到
id$data->source_id -
是的,这就是问题所在,我使用源,现在它工作正常。谢谢:)