2017-02-16 11 views
0

私はlaravel 5.0を5.3にアップグレードしました。その後、ORM結合は全く機能しません。それがうまくいかない理由がありますか? は、私はすべてのinsructionsがHereORMがLaravel Appを5.3にアップグレードした後に動作しない

を形成する。しかし、それは私が働いていないジョインによる先の何かを逃したように、見えたコードが正しいか、それはアップグレード前に働いていた加入続きます。 コード:

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

答えて

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'); 
} 

あなたの場合(たとえば、デフォルト以外の名前を使用している場合など)キー名を渡したい場合は、次のようにします。

  • 第2のの引数は、の外部キーです。
  • 第3の引数は、ローカルキーです。

あなたのコードは次のようになります。

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

は、あなたの入力@schellingerhtいただきありがとうございます。問題はlaravel 5.3にアップグレードする前に作業していたことだけです。突然アップグレード後に動作を停止しました。私はあなたが公式の文書から言及したすべての事を読んだ。 Laravelを以前にアップグレードして、そのような問題に直面した人が必要です。 –

+1

[OK]を、私は '誰か' ;-)です。しかし、最初のコードが何であっても、コードを正しいものにすることが重要です。ドキュメンテーションを比較するには、キーのパラメータを変える必要があります。 – schellingerht

関連する問題