0

「タイプ」列が特定のレコードのタイプを定義するテーブルに一連の DNS レコードがあります。

次のようなこれらのレコードを表す Lithium のモデルのクラス階層が必要です。

RR - base resource record (abstract - sort of)  
RR_SOA - SOA record, extends RR  
RR_CNAME - CNAME record, extends RR  
...  etc ...

したがって、レコードごとに 1 つのクラスがあり、すべてが同じテーブルにマッピングされます。

次に、RR::find を使用したいと思います。これは、各オブジェクトのクラスが実際のレコードのタイプに対応するオブジェクトのリストを自動的に提供します。

これは、黒魔術が多すぎなくても可能ですか?

4

1 に答える 1

1

はい(何でも可能です)しかし、あなたのアプローチは野心的すぎるかもしれません。私の POV では、ターゲット テーブルの基本的なクエリの処理に依存しますが、 (特にから継承されたメソッドで)@class RRフィルターを利用することで、インスタンスを新しくインスタンス化されたクラスのセット (SOA、 CNAME など) とともに、テーブル内の位置 (したがって、SOA オブジェクトはその特定のレコードまたは主キーにのみ関連付けられます)。RRfindModel

いくつかの黒魔術が行われていますが、Lithium コアの開発者が説明していないことは何もありません。

要するに、テーブル (RR モデル) 用の 1 つの基本クラス、SOA、CNAME など用の複数 (モデルとは関係のない別の基本から継承される可能性があります)、および RR::find と/または遅延バインドされた RR::findby*

これは理にかなっていますか?

(これには試行錯誤必要です。最初にデータ出力を操作できるかどうかを確認し、その後はバターです)

于 2012-07-30T02:48:28.667 に答える