你好,一切都好吗? 我的问题如下:
我有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)中,我不得不添加两个额外字段(金额和值),因为产品的价值不稳定另一个是客户购买的数量。
当我输入add()页面时:
echo $this->form->input('Product');
CakePHP渲染a,直到那时我明白了。
但我的需求是:客户必须选择产品和数量,即使是,产品价值也是< strong>发送,不仅 ID(任何内容,我创建一个页面只是为了报告金额,确认后#39;销售&#39;)。 / p>
然后:
1 - 如何同时保存产品的ID和价值?
2 - 我正在以正确的方式使用表/关系?
3 - 有什么更好的方法可以做到这一点?
抱歉我的英文。 我希望你理解。
答案 0 :(得分:3)
我认为您不想使用HABTM,而是使用“hasMany through”,为products_sales
创建单独的模型。以下是蛋糕手册中的描述:
Cake 1.3手册中有更完整的描述:
http://book.cakephp.org/view/1650/hasMany-through-The-Join-Model