Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP:habtm,其联接表有一个额外字段_Php_Mysql_Cakephp_Join_Cakephp 2.0 - Fatal编程技术网

CakePHP:habtm,其联接表有一个额外字段

CakePHP:habtm,其联接表有一个额外字段,php,mysql,cakephp,join,cakephp-2.0,Php,Mysql,Cakephp,Join,Cakephp 2.0,我正在用蛋糕烘焙工具生成模型表,我面临一个奇怪的情况 我有这些桌子: 产品(id\U产品) guest(id\u guest) product\u客人(产品、客人、金额) 其中product\u guest表记录客人购买的产品以及购买的产品数量 现在,使用cake bake上的HABTM关系,我只能指定表product和guest之间的关系,但没有amount字段的痕迹 如何正确映射此情况以检索和添加金额?在您的情况下,HABTM不是正确的关联。你应该使用关联 根本性的变化是,您需要基于产品

我正在用蛋糕烘焙工具生成模型表,我面临一个奇怪的情况

我有这些桌子:

  • 产品(id\U产品)
  • guest(id\u guest)
  • product\u客人(产品、客人、金额)
其中
product\u guest
表记录客人购买的产品以及购买的产品数量

现在,使用cake bake上的HABTM关系,我只能指定表product和guest之间的关系,但没有
amount
字段的痕迹


如何正确映射此情况以检索和添加金额?

在您的情况下,HABTM不是正确的关联。你应该使用关联

根本性的变化是,您需要基于产品的第三个模型

创建以下关系:

  • 产品有很多产品
  • 客人有很多产品
  • 产品客人属于产品
  • 产品客人属于客人

在您的情况下,HABTM不是正确的关联。你应该使用关联

根本性的变化是,您需要基于产品的第三个模型

创建以下关系:

  • 产品有很多产品
  • 客人有很多产品
  • 产品客人属于产品
  • 产品客人属于客人

在您的情况下,HABTM不是正确的关联。你应该使用关联

根本性的变化是,您需要基于产品的第三个模型

创建以下关系:

  • 产品有很多产品
  • 客人有很多产品
  • 产品客人属于产品
  • 产品客人属于客人

在您的情况下,HABTM不是正确的关联。你应该使用关联

根本性的变化是,您需要基于产品的第三个模型

创建以下关系:

  • 产品有很多产品
  • 客人有很多产品
  • 产品客人属于产品
  • 产品客人属于客人

首先是表格结构错误

你应该

guests : id , user_name , password 
这是要购买产品的客人。这是主桌

products : id , product_name , description 
orders -> id , amount , user_id
这是您的产品表,包括有关产品的详细信息,如说明等。这是主表

products : id , product_name , description 
orders -> id , amount , user_id
这里的订单是一张详细的表格,如谁购买了产品和价格。这是主桌

products : id , product_name , description 
orders -> id , amount , user_id
那么一个订单可以有很多项目,所以

orders_products ->  order_id , product_id 
现在,它将包含订单id以及作为外键包含的产品。这是包含产品和订单外键的子表

这里的orders_products是HABTM,产品和订单如下


一个订单可以包含多个产品。一个产品可以是多个订单的一部分。这有意义吗?

首先是表格结构错误

你应该

guests : id , user_name , password 
这是要购买产品的客人。这是主桌

products : id , product_name , description 
orders -> id , amount , user_id
这是您的产品表,包括有关产品的详细信息,如说明等。这是主表

products : id , product_name , description 
orders -> id , amount , user_id
这里的订单是一张详细的表格,如谁购买了产品和价格。这是主桌

products : id , product_name , description 
orders -> id , amount , user_id
那么一个订单可以有很多项目,所以

orders_products ->  order_id , product_id 
现在,它将包含订单id以及作为外键包含的产品。这是包含产品和订单外键的子表

这里的orders_products是HABTM,产品和订单如下


一个订单可以包含多个产品。一个产品可以是多个订单的一部分。这有意义吗?

首先是表格结构错误

你应该

guests : id , user_name , password 
这是要购买产品的客人。这是主桌

products : id , product_name , description 
orders -> id , amount , user_id
这是您的产品表,包括有关产品的详细信息,如说明等。这是主表

products : id , product_name , description 
orders -> id , amount , user_id
这里的订单是一张详细的表格,如谁购买了产品和价格。这是主桌

products : id , product_name , description 
orders -> id , amount , user_id
那么一个订单可以有很多项目,所以

orders_products ->  order_id , product_id 
现在,它将包含订单id以及作为外键包含的产品。这是包含产品和订单外键的子表

这里的orders_products是HABTM,产品和订单如下


一个订单可以包含多个产品。一个产品可以是多个订单的一部分。这有意义吗?

首先是表格结构错误

你应该

guests : id , user_name , password 
这是要购买产品的客人。这是主桌

products : id , product_name , description 
orders -> id , amount , user_id
这是您的产品表,包括有关产品的详细信息,如说明等。这是主表

products : id , product_name , description 
orders -> id , amount , user_id
这里的订单是一张详细的表格,如谁购买了产品和价格。这是主桌

products : id , product_name , description 
orders -> id , amount , user_id
那么一个订单可以有很多项目,所以

orders_products ->  order_id , product_id 
现在,它将包含订单id以及作为外键包含的产品。这是包含产品和订单外键的子表

这里的orders_products是HABTM,产品和订单如下


一个订单可以包含多个产品。一个产品可以是多个订单的一部分。这有意义吗?

这样,当联接表中没有任何额外字段时,我可以使用HABTM,当我有hasMany和belongsTo时,我需要使用hasMany和belongsTo?@giozh-正确:当联接表只有其他表的键(及其主键)时,使用HABTM。当联接表有其他列时,请使用hasMany和belongsTo。因此,当联接表中没有任何额外字段时,我可以使用habmany和belongsTo;当联接表只有其他表的键(及其主键)时,我需要使用hasMany和belongsTo?@giozh-correct:当联接表只有其他表的键时,请使用habm。当联接表有额外的列时,使用hasMany和belongsTo。因此,当联接表中没有任何额外字段时,我可以使用HABTM,并且我需要使用hasM