次のクラスがあるとします:
それがただの動物だったら、私はこれを行うことができます
リーリーしかし、それを行う方法がわかりません:
リーリーこのトピックに関する提案や読み物があれば、大歓迎です。私はオブジェクト指向プログラミングについてはある程度の知識がありますが、Laravel環境についてはあまり知識がありません。いくつかの記事を読みましたが、Laravel に特化した記事はありませんでした。
P粉6484692852024-01-11 16:26:53
計画内のモデルはすべて動物なので、必ず動物テーブルと動物モデルを用意する必要があります。
ここで、より具体的なモデルが一般的な動物とは異なる動作をする場合、モデルを継承して、そのメソッドが物事を正しく処理できるようにすることができます。つまり、違いが PHP のみにある場合は、同じテーブルを参照してモデルを相互に継承させることができ、アプリケーションは、いくつかの基準に基づいて、異なるモデルをいつどのように操作するかを判断します。
データベースにも相違点がある場合、つまり犬の場合は追加情報が必要な場合は、動物テーブルへの外部キーを持つ犬の属性テーブルを構築できます。
最後に、モデルごとに異なるテーブルを使用することを決定できます。その場合は、抽象動物クラスを実装し、より具体的な動物モデル クラスがそれを独自の方法で拡張することをお勧めします。これにより、共通コンテンツは次のようになります。抽象動物クラスに実装されます。
上記の方法のどちらが優れているかについては、特定の状況に大きく依存します。