Помогите разобраться с ActiveRecord

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
mastercz
Сообщения: 13
Зарегистрирован: 2009.12.22, 03:50

Помогите разобраться с ActiveRecord

Сообщение mastercz »

Есть следующая структура базы данных.

Код: Выделить всё

CREATE TABLE tbl_a
(
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    aname VARCHAR(50) NOT NULL,
    c_id INTEGER NOT NULL,
    CONSTRAINT FK_a_c FOREIGN KEY (c_id)
            REFERENCES tbl_c (id) ON DELETE CASCADE ON UPDATE RESTRICT
);
CREATE UNIQUE INDEX [uniq_aname] ON [tbl_a] ([aname]);

CREATE TABLE tbl_b
(
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    c_id INTEGER NOT NULL,
    d_id INTEGER NOT NULL,
    rezult_id INTEGER NOT NULL,
    CONSTRAINT FK_b_c FOREIGN KEY (c_id)
        REFERENCES tbl_c (id) ON DELETE CASCADE ON UPDATE RESTRICT,
    CONSTRAINT FK_b_d FOREIGN KEY (d_id)
        REFERENCES tbl_d (id) ON DELETE CASCADE ON UPDATE RESTRICT,
    CONSTRAINT FK_b_rezult FOREIGN KEY (rezult_id)
        REFERENCES tbl_rezult (id) ON DELETE CASCADE ON UPDATE RESTRICT
);
CREATE UNIQUE INDEX [uniq_for_rezult] ON [tbl_b] ([c_id], [d_id]);


CREATE TABLE tbl_c
(
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    cname VARCHAR(50) NOT NULL,
);
CREATE UNIQUE INDEX [uniq_cname] ON [tbl_c] ([cname]);


CREATE TABLE tbl_d
(
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    dname VARCHAR(50) NOT NULL,
);
CREATE UNIQUE INDEX [uniq_dname] ON [tbl_d] ([dname]);

CREATE TABLE tbl_rezult
(
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    rezultname VARCHAR(50) NOT NULL,
);
CREATE UNIQUE INDEX [uniq_rezultname] ON [tbl_rezult] ([rezultname]);
 
Я названия специально поменял, дабы не отвлекало от вопроса.
Как оформить Один запрос запрос к базе посредствам AR, имея на входе tbl_a.aname и tbl_d.dname получить в итоге tbl_rezult.rezultname. Заранее благодарю за помошь.
AbS_
Сообщения: 207
Зарегистрирован: 2010.03.27, 14:02

Re: Помогите разобраться с ActiveRecord

Сообщение AbS_ »

AR тут не поможет.
troublegum
Сообщения: 27
Зарегистрирован: 2010.12.17, 11:33
Контактная информация:

Re: Помогите разобраться с ActiveRecord

Сообщение troublegum »

Проще написать SQL запрос руками и впихнуть его в модель в виде метода getRezultname()
Ответить