私はLaravelでアプリケーションを作成していますが、問題が発生しました。私はページを管理するための簡単なCRUDバックエンドを作成しています。MySQL - 同じテーブル(Laravel、ORM)を参照する外部キーによるレコードのレコード
id | title | parent_id
-----------------------------
1 | Homepage | 0
2 | About | 0
3 | Team | 2
4 | Mission | 2
5 | Directors| 3
6 | Contact | 0
私のアプリケーションでは、親によってネストされたレコードを表示したいと考えています。ですから、これは次のようになります:
Homepage
About
- Team
- Directors
- Mission
Contact
通常のアプリケーションでこれを行うことができます。しかし、私はEloquent
モデルで動作するようにクエリ/メソッドを必要とし、その順序で並べ替えます。これらのチェックを個々のレコードごとに行うことができるので、ネストは必要ありませんが、上記のようにすべてのページを順番に返すクエリが必要です。
このコード、同じ親を持つグループが正しくページながら、私も正しい場所にそれらを置くために、クエリを必要とし、単に親ページの下にそれを注文:助けを
Page::orderBy('parent_id')->get();
感謝を!
レベルを持つことができますどのように多くの? –
これは任意の数のレベルを持つことができます(実際には実用的なアプリケーションでは3〜4までしか現実的ではありませんが、いくつかのレベルでハードコーディングされない再帰的なソリューションが欲しい) – Giedrius