我已经升级到 CakePHP 3.4 并且我正在检查 3.4 弃用列表,迁移指南说getMatching() 必须在 setMatching() 之后调用以保持旧行为 我很困惑并且找不到任何文档关于 setMatching() 和 getMatching() 函数的示例。我应该如何或在哪里声明 setMatching()。任何人都可以向我指出如何使用 setMatching 和 getMatching 重写以下代码:
TableRegistry::get('Students')->find()
->distinct([ 'Students.id'])
->matching('Studentclassrooms.Classrooms',
function ($q) use ( $classid ){
return $q->where([ 'Classrooms.id' => $classid ]);
});
->enableAutoFields(true);
当我尝试以下时,我得到了错误
未知方法“setMatching”</p>
TableRegistry::get('Students')->find()
->distinct([ 'Students.id'])
->setMatching('Studentclassrooms.Classrooms',
function ($q) use ( $classid ){
return $q->where([ 'Classrooms.id' => $classid ]);
})
->getMatching()
->enableAutoFields(true);