LaravelbelongsTo() 列命名问题

tim*_*son 4 php mysql laravel eloquent

我不知道如何为我的表列名创建别名,以便我可以使用 Laravel 的 EloquentbelongsTo()功能。

我有一张groups桌子和一张activities桌子。该activitiesgroups通过organization_id而不是引用该表groups_id

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

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

我想写的是:

App\Activity->group 
Run Code Online (Sandbox Code Playgroud)

Kha*_*ukh 6

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

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

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

蒂姆·彼得森更新

我的原始代码有效。我为别的东西迁移了我的数据库,所以必须修复所有问题。