【问题标题】:Laravel belongsTo() column naming issueLaravel belongsTo() 列命名问题
【发布时间】:2015-09-21 18:12:32
【问题描述】:

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

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

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

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

我想写的是:

App\Activity->group 

【问题讨论】:

  • 您遇到了什么错误或问题,以下内容不起作用
  • 坚持@AhmadBaktashHayeri,将为您制作...
  • 根据文档,这是$this->belongsTo('App\User', 'local_key', 'parent_key');的语法,我认为组织ID是第三个参数而不是第二个
  • 其实我的代码刚刚运行成功。我为其他东西迁移了我的数据库,因此必须修复所有问题。感谢您的帮助!
  • 可能是误读,但这不应该是“hasOne”关系吗?

标签: php mysql laravel eloquent


【解决方案1】:

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

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

在上面的代码中你会得到所有的结果,其中activies.id = groups.organization_id;

蒂姆·彼得森的更新

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

【讨论】:

    猜你喜欢
    • 2014-09-07
    • 1970-01-01
    • 2017-12-13
    • 2014-09-03
    • 1970-01-01
    • 2019-06-05
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多