php - 使用 CakePHP,保存额外字段(id、值、数量)HABTM 表

标签 php mysql cakephp cakephp-2.0

你好一切都好吗? 我的问题如下:

我有 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) 中,我不得不添加两个额外的字段(amountvalue),因为产品的值(value)是不稳定的另一个是客户购买的数量。

当我放入 add() 页面时:

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

CakePHP 渲染一个 ,直到那时我才明白。

但我的需求是:客户必须选择产品及其数量,或者即使是,产品值(value)也是< strong>发送,不仅 ID(任何东西,我创建一个页面只是为了报告金额,在确认“销售”之后)。

然后:
1 - 如何同时保存商品ID和商品值(value)?
2 - 我是否以正确的方式使用表格/关系?
3 - 有什么更好的方法来做到这一点?

对不起我的英语。 我希望你能理解。

最佳答案

我认为您想使用“hasMany through”而不是 HABTM,您可以在其中为 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

关于php - 使用 CakePHP,保存额外字段(id、值、数量)HABTM 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7997014/

相关文章:

php - 如何从客户端接收 json 对象到服务器的 php 二维数组中?

php - LEFT JOIN 与 WHERE 不起作用

mysql - 是否建议在数据库的所有表中使用文本字段作为用户 ID?

php - 我需要将阿拉伯语数据存储到mysql中

php - PHP 中出现 PDOException,MySQL 中没有错误

MySQL 触发器 - 使用从另一个表获取的平均值更新表中的最后一行

php - 是否可以在没有 MySQL 的情况下制作功能齐全的购物车

Cakephp 在索引 View 中的模式窗口内添加表单

cakephp - 将查询转换为 cakePHP 查找语句

php - 使用 CakePHP 运行一个 sql server 存储过程