0

私のデータベースにはこの階層があります:

- Manager:
  - Coordinator:
    - Supervisor:
      - Operator

このコードは、すべての「コーディネーター」が「マネージャー」に属していることを出力します。

Manager::find(1)->coordinator()->get();

すべての「スーパーバイザー」が「コーディネーター」に直接属することは可能ですか? 例:

Manager::find(1)->coordinator()->supervisor()->get();

英語でごめんなさい、私はブラジル人です

4

1 に答える 1

0

モデルですべての関係を定義するだけで十分です。次に、次のようにして、特定の「マネージャー」のすべての「オペレーター」を取得できます。

Manager::find(1)->coordinator->supervisor->operator;

そのコードでは、Eloquent ORM に付属する動的プロパティを使用しています。

「モデル内のすべての関係を定義する必要がある」と言ったとき、次のことを行います。

class Manager extends Eloquent
{
    public function coordinator()
    {
        return $this->hasMany('Coordinator');
    }
}

次に、多くのスーパーバイザーを持つコーディネーターと多くのオペレーターを持つスーパーバイザーに対して同じことを行います。

Laravel 4 の1対多の関係に関するドキュメントを参照してください。

于 2013-08-01T02:29:43.963 に答える