如何在没有连接的情况下在自关联中使用条件?
Posted
技术标签:
【中文标题】如何在没有连接的情况下在自关联中使用条件?【英文标题】:How to use conditions in self association without joins? 【发布时间】:2015-10-21 10:14:46 【问题描述】:我有 Product
模型 [id, parent_id, x
]。
我想在每个产品上附加单个ProductParent
,仅当Product.x = 0
和Product.parent_id = ProductParent.id
时。
我尝试的是:
public $hasOne = array(
'ProductParent' => array(
'className' => 'Product',
'foreignKey' => false,
'conditions' => array(
'ProductParent.id = Product.parent_id',
'Product.x' => 0
)
)
);
并且得到输出Product.parent_id
是未知的。
【问题讨论】:
'foreignKey' => false,
为什么要这样做然后设置一个等效的条件?也许从(并添加到问题中)为您提供所需数据的确切 sql 开始。
@AD7six 我也尝试了 'foreignKey' => 'parent_id' 并得到相同的结果:Product.x 未知
请将实际的错误消息 - 并执行 sql - 添加到问题中。连同正确的版本一起做你想做的事。
【参考方案1】:
您可以尝试使用树行为。检查这个:http://book.cakephp.org/2.0/en/core-libraries/behaviors/tree.html
【讨论】:
我怀疑这个答案对 OP 有帮助以上是关于如何在没有连接的情况下在自关联中使用条件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 ScriptDB 的情况下在谷歌应用程序脚本中汇集连接?
如何在没有互联网连接的情况下在android中获取当前纬度和经度?
如何在没有 ipad 的情况下在纵向和横向条件下测试 ipad 网站?
如何在没有附加查询的情况下在 SQL Server 中连接没有子查询的 GROUP BY 子句中的字符串?