Используя CakePHP, сохраните дополнительное поле (идентификатор, значение, количество) таблиц HABTM - PullRequest
1 голос
/ 03 ноября 2011

Привет Все правильно?Моя проблема заключается в следующем:

У меня есть 3 таблицы:

create table products (
    id int not null auto_increment primary key,
    name varchar(80) not null,
    mold varchar(80),
    amount int,
    value decimal(10,2),
    real_value decimal(10,2),
    created datetime,
    modified datetime,
    active boolean default 1
);

create table sales (
    id int not null auto_increment primary key,
    customer_id int not null,
    method_payment_id int not null,
    portions smallint(4),
    entry decimal(10,2),
    subtotal decimal(10,2),
    total decimal(10,2),
    debtor decimal(10,2), 
    expiration_date datetime,
    created datetime,
    modified datetime,
    active boolean default 1
);

create table products_sales (
    product_id int not null,
    sale_id int not null,
    amount smallint(4),
    value decimal(10,2)
);

В products_sales (HABTM) Мне пришлось добавить два дополнительных поля ( сумма *)1009 * и value ), поскольку стоимость продукта нестабильна, а другое - это количество, приобретенное клиентом.

Когда я добавляю страницу add ():

  echo $this->form->input('Product');

CakePHP рендерит, до тех пор, как я понимаю.Но мне нужно: клиент должен выбрать продукт и сумму его, или, даже если это так, значение продукта также отправлено, не только идентификатор (что угодно, я создаю страницу только для того, чтобы сообщить сумму, после подтверждения «продажи»).

Тогда: 1 - Как сохранить идентификатор и стоимость продукта одновременно? 2 - Я правильно использую таблицы / отношения? 3 - что может быть лучше?

Извините за мой английский.Я надеюсь, вы понимаете.

1 Ответ

3 голосов
/ 03 ноября 2011

Вместо HABTM, я думаю, вы хотите использовать «hasMany through», где вы создаете отдельную модель для products_sales. Вот описание из руководства Cake:

http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany-through-the-join-model

В руководстве по Cake 1.3 есть более полное описание:

http://book.cakephp.org/view/1650/hasMany-through-The-Join-Model

...