我的问题是关于一个可能对未来产生一些影响的逻辑问题:
我已经有3个型号(房间,纪律,系列)和一个名为打印输出的模型。 在打印输出中,我可以选择标题图像并定义标题文本,但如何定义要使用的三种模型中的哪一种。
我看到两种可能性:
这两种方式之间是否存在不利因素。建议的是什么。
我知道它更符合逻辑而不是开发问题,我仍然希望在项目的早期阶段选择更好的方法。
欢呼endo
答案 0 :(得分:1)
执行此操作的常用方法是在打印输出表中使用foreign_key
和model
字段(本页中的详细信息):
'foreign_key'是“其他”模型的id,'model'是其他模型的名称。
因此,您的打印输出属于所有其他3个模型和关联,您指定'Printout.model'=>的条件'房间'(或任何型号)。
答案 1 :(得分:0)
请提供有关您的桌面结构的更多信息,您的模型是如何连接的(哪一个是父母,哪一个是孩子,以及您想要做什么),所以我可以为您提供更好的答案。
无论如何,您最初不必绑定模型,您可以在控制器逻辑中执行此操作:
$this->PrintOut->bindModel(array(
'belongsTo' => array(
'Room' => array(
'className' => 'Room',
'foreignKey' => 'room_id',
),
),
));
或者,如果房间属于打印输出:
$this->PrintOut->bindModel(array(
'hasOne' => array(
'Room' => array(
'className' => 'Room',
'foreignKey' => 'printout_id',
),
),
));
您的解决方案可能也是其他内容,但我需要有关您的模型所做的更多信息。
修改强>
现在我看到你的问题可能有点不同......你应该检查条件的绑定模型。