我正在尝试通过ajax将数据存储在表中,并且成功,但是某些数据是其他表格的ID,而我却无法获得这些数据!
JS返回的示例数据:
customers":[
{
"id":2,
"group_id":3,
"industry_id":2,
"name":"fwgvwrg",
"companyName":"bget"
}
]
在此数据中,如果我使用类似i.group.name (same as in blade if we say {{$customer->group->name}}
的{{1}},则会返回错误
未捕获的TypeError:无法读取未定义的属性“名称”
基本上,JS没有问题,这是关于我的模型关系,这里是我的模型:
客户模型
group_id
组模型
public function group()
{
return $this->belongsTo(GroupCustomer::class, 'id', 'group_id');
}
public function industry()
{
return $this->belongsTo(Industry::class);
}
行业模型
public function customers() {
return $this->hasMany(Customer::class, 'id', 'group_id');
}
有什么想法吗?
答案 0 :(得分:0)
似乎问题出在您关于外键参数位置的模型关系:
public function group()
{
return $this->belongsTo(GroupCustomer::class, 'group_id', 'id');
}
return $this->hasMany('App\Comment', 'foreign_key', 'local_key');
答案 1 :(得分:0)
在刀片视图中,您可以直接调用laravel关系。它会正常工作。
但在 Js 中将无法使用。你不能打电话给关系
因此,当您必须使用如下所示的 with()
Ex : Customer::with('group')->get();