Laravel关系不返回数据

时间:2019-12-04 03:24:39

标签: php laravel

我正在尝试通过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');
}

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

似乎问题出在您关于外键参数位置的模型关系:

public function group()
{
    return $this->belongsTo(GroupCustomer::class, 'group_id', 'id');
}

See model doc here

return $this->hasMany('App\Comment', 'foreign_key', 'local_key');

答案 1 :(得分:0)

刀片视图中,您可以直接调用laravel关系。它会正常工作。

但在 Js 中将无法使用。你不能打电话给关系

因此,当您必须使用如下所示的 with()

Ex : Customer::with('group')->get();
相关问题