O bir veritabanı ve başka diğer modeller (aynı bağlantıyı kullanan) olmak belirli modeller için mümkün mü?
Benim sisteminin çoklu yüklemeler arasında paylaşılan istiyorum salt okunur tablolar bir dizi var. Diğer tablolar başına kurulum gerekir. Örnek aşkına, users
paylaşılan tablo diyelim, ve posts
başına kurulum olduğunu.
Tek bir şemaya biz users
tablo var (en it "paylaşımlı" diyelim), ve başka bir şema ("mycake") posts
olduğunu.
Ben (iki veritabanları aynı ana vardır ve her ikisi de aynı giriş bilgileriyle erişilebilir olsa) paylaşılan veritabanına işaret yeni bir veritabanı bağlantı oluşturarak diğer veritabanından kullanıcı modeli okuma almak mümkün oldum.
class User extends AppModel {
var $useDBConfig = 'sharedConnection';
}
O posts
masaya katılmak için zamanı geldiğinde sorunudur. Bu tablo adının şema adını prepend değildir, ve bu yüzden posts
bulamıyorum.
// what it does
SELECT * FROM users User INNER JOIN posts Post ...
// what I'd like it to do:
SELECT * FROM shared.users User INNER JOIN mycake.posts Post ...
Yani temelde, is there a way to assign a fully qualified table name to a model and force it to use that in all its queries? var $useTable = 'shared.users';
yardımcı olmuyor ayarlanıyor ...