レコードのすべての関係を入手してください
質問
他のモデルタイプとさまざまな関係を持つ多数の異なる関係を持つ私のアプリケーションで定義されている雄弁なモデルを持っている場合/ P> たとえば、多くの行を持つことができる単純なトランザクションモデルを想像してください。
今すぐ取引モデルのインスタンス(人口または無人)の場合、他のモデルとの関係についてどのように調べることができますか?
ただクリアするだけで、実際の関連データを取得したくない、それぞれの関係のあるクラスを参照し、それがたくさんあるかどうか、多くの多くのetcなどを参照したいだけです。
あらゆるアドバイスが理解されています。
ありがとう
解決
Laravelの極度のモデルはこのように機能しません、関係はモデル内のメソッドによって定義されており、インスタンス化時にモデルによって自動的にロードされていないため、特定の関係を使用したいときに実際にこれらの方法を呼び出す必要があります。
モデルクラスをインスタンス化すると、関係がゼロで定義されています。これは、次のように表示できます。
$user = new User();
print_r($user->getRelations());
//Output : empty array
.
あなたが見ることができるように、モデルはそれが関係方法で宣言されているかもしれないかどうかのどんな関係に至るかどうかわかりません。モデルの関係を呼び出すと:
$user = new User();
$user->find(1)->roles()->get();
.
eloquent最初の引数として呼び出されたメソッドの名前とそのメソッドの戻りを2番目として呼び出されるメソッドsetRelation($relation, $value)
を使用してモデルの関係を設定します。したがって、特にそれを尋ねる前に存在しない関係のコンテキストを提供します。
私はこれがあなたが聞いていることではなく、雄弁でこれを行う方法はありません。
所属していません StackOverflow