Sql CakePHP从三个表中找到复杂依赖项

Sql CakePHP从三个表中找到复杂依赖项,sql,cakephp,find,Sql,Cakephp,Find,我有三张桌子: Stories (id, category_id, sub_category_id, name, story), Categories (id, parent_id, lft. rght, name), SubCategories (id, name) 它们之间有适当的关联,并且一切正常。但现在我需要通过名称自动完成对话框查找属于指定类别和/或子类别的故事。示例:用户输入了dog bone,必须在类别/子类别中搜索该名称,然后在找到所有属于已找到类别的故事后搜索。在执行

我有三张桌子:

Stories (id, category_id, sub_category_id, name, story),

Categories (id, parent_id, lft. rght, name), 

SubCategories (id, name) 
它们之间有适当的关联,并且一切正常。但现在我需要通过名称自动完成对话框查找属于指定类别和/或子类别的故事。示例:用户输入了dog bone,必须在类别/子类别中搜索该名称,然后在找到所有属于已找到类别的故事后搜索。在执行多个查找时没有问题,但在SQL中我可以执行一个查询。这可以在CakePHP中一次完成吗


多谢各位

要么使用表关联解决它,要么使用可包含行为

可包含的行为非常易于使用和实现


有几个选项可供选择,其中一些选项如下

可链接的行为-

b模型-

c临时加入


仔细阅读它们,看看您最需要的套件。

请提供sql查询。。有时,如果我看到queryI正在使用可包含的行为,我会发现创建查找更容易,但是根据子产品条件,不可能得到父类别结果。或者我错了?也许这会有帮助,当你检查这个网站的Associations,你也应该重新考虑你的类别/子类别的结构。或者我知道子类别/子类别只是一个例子。在现实生活中,我有5-6个表格,我在其中搜索信息,然后显示结果。我正在将旧的普通SQL迁移到CakePHP ORM。有可能通过包含模型条件来限制主要结果。如果我这样做$this->Dealer->find'all',array'contain'=>$contains中的$contains是array'Category'=>array'conditions'=>array'active'=>true可以显示所有经销商,其中Category和更多包含条件的车型为true?嗯。。我认为我需要的是可链接的行为。只是没有文档。谢谢