Yii çerçeve "meta db model"

0 Cevap php

Ben birkaç DB tablo var, cadı bir tablo cadı miras kullanarak inşa olduğu bir yeni tablolar oluşturmak için "şablon" tür, ve şimdi ben sütunlarda işletmeler mantık yöntemleri cadı işten şablonundan devralan set var olan, ek sütunlar sadece kullanılır modellerinin tanıtımı için params olarak, onlar mantık için hiçbir anlamı yok demektir.

The goal is to share businesses logic methods along all of that tables, i know, now it can be done by adding another class witch extends CActiveRecord, and extend from it every model, or pack logic as a behavior and append it to models. But this will require to write at least "dump" class file for every table/model, but those tables "live" in system, and will be deleted/created with system life cycle.

"On-the-fly" bir param, tablo adı, ya da belki tablolar için model oluşturmak için bir yol olarak almak ve ona iş mantığı ekleyeceği "meta-model" cadı çeşit yazmak için bir yolu var mı?

I've asked this question on Yii users board, but did not find any response :/ I'm considering this as some sort of code challenge, so any help / clues are welcome :)

[EDIT]

Some samples: tables for different client devices

  • hfc.cable_modem
  • lan.switch_port
  • lan.voip_gateway
  • (Yakın bir gelecekte, sistemi, istemci cihazlar için çok yeni tablolar ilave daha "teknoloji" olacak ve bazıları için açılan destek için bir olasılık var)

her tablo client_device cadı bu alanları vardır şablon tablodan devralır:

  • client_id
  • service_id
  • core_device_id
  • (Artı oluşturulan gibi timestampable davranışı için bazı meta sütunlar, güncellenen, updater vs)

gibi Sen iş mantığı sadece kimlikleri üzerinde çalışır, ve her tablo için aynı görmek, sütun kalan cihaz params depolama / sunum bilgisi olarak kullanılır.

Amacım "meta-model" istemci cihaz, cadı tüm bu tabloları iş mantığı uygulamak, ve hala onlar her sağlamak, belirli alanlara erişim, i 'cadı (her tablo için, modeli sınıfı yazmak zorunda kalmadan edecek olmasıdır ll yapmak zorunda, her yeni teknoloji eklenecektir zaman, ya da verilen bir teknoloji için destek) bir gelecekte atılır

0 Cevap