将Laravel App升级到5.3后,ORM加入不起作用

时间:2017-02-16 07:20:43

标签: php laravel-5.3

我将laravel 5.0升级到5.3。之后,ORM加入根本不起作用。有什么建议为什么它不起作用? 我遵循了所有的提示表格 Here

但是看起来我错过了哪些联接不起作用,联接代码是正确的,并且它在升级之前正在工作。 代码:

 public function CompanyDataGet() 
 {
    return $this->belongsTo('App\Model','id','othertable_id'); 
 }

1 个答案:

答案 0 :(得分:1)

belongsTo表示反向关系。

Laravel的API是什么?

最常见的方法是检查Laravel 5.3(https://laravel.com/api/5.3/Illuminate/Database/Eloquent/Model.html#method_belongsTo)的API:

BelongsTo belongsTo(string $related, string $foreignKey = null, string $otherKey = null, string $relation = null)

解决方案

默认情况下,只需要$related

public function CompanyDataGet() 
{
    return $this->belongsTo('App\Model'); 
}

如果您仍想传递密钥名称(例如,如果您使用的是非默认名称):

  • 第二个参数应为外键
  • 第三个参数应为本地密钥

您的代码应为:

public function CompanyDataGet() 
{
    return $this->belongsTo('App\Model', 'othertable_id', 'id'); 
}