Cakephp单向关系

时间:2011-05-29 23:10:15

标签: cakephp model relationship

我有物品和单位,并且希望每个物品都有一个单位,但许多人可以使用该单位。

项目表

  

id - int

     

name - varchar

     

description - varchar

     

unit_id - int

单位表

  

id - int

     

name - varchar

     

description - varchar

项目模型

var $hasOne = array( 'Units' => array( 'className' => 'Unit' ) );

单位型号 没什么,但以前我尝试过:var $belongsTo = array( 'Items' => array( 'className' => 'Item' ) );

当我在脚手架(列表项)中时,我得到:

Warning (512): SQL Error: 1054: Unknown column 'Units.item_id' in 'on clause' [CORE/cake/libs/model/datasources/dbo_source.php, line 684]

在“编辑项目”屏幕中,“单位”下拉列表为空。知道我做错了什么吗?基本上,Units表只是填充Item条目表单中的下拉列表,但我希望它能在scaffold中自动填充。

1 个答案:

答案 0 :(得分:1)

您的商品属于一个单位,您的单位 hasMany 商品。

belongsTo - 外键在当前模型中(Item的unit_id
hasMany - 外键在相关型号中 hasOne - 外键在相关模型中,只有一个 hasAndBelongsToMany - 外键位于单独的第三个表中