Laravel属于To()列命名问题

时间:2015-09-21 18:12:33

标签: php mysql laravel eloquent

我无法弄清楚如何为我的表列名创建别名,以便我可以使用Laravel的Eloquent belongsTo()功能。

我有一个groups表和一个activities表。 activities表格引用groups表格organization_id而不是groups_id

如何在我的Activity模型中编写belongsTo,因为以下内容不起作用。

public function group()
{
    return $this->belongsTo('App\Group', 'organization_id');
}

我想写的是:

App\Activity->group 

1 个答案:

答案 0 :(得分:2)

在您粘贴的代码中,laravel会认为组织ID是您的活动表中的列,您将其用作外键,您应该做的是:

public function group()
{
    return $this->belongsTo('App\Group', 'organization_id', 'id');
}

在上面的代码中,您将获得所有结果,其中activies.id = groups.organization_id;

Tim Peterson更新

我的原始代码有效。我将我的数据库迁移到其他地方,以便必须修复所有内容。