我正在将我的应用转换为cakephp 3.0,并且我无法找到在find方法中使用邻居的替代方法。Cakephp中是否有邻居的替代方案
我需要找到关联表中的下一条记录,邻居是一个很好的方式来做到这一点。
//Open courses
$options = [
'conditions' => ['Employees.user_id' => 1, 'CoursesEmployees.completed' => false],
'limit' => 3,
'contain' => 'Employees'
];
$recentOpen = $this->CoursesEmployees->find('all', $options)->toArray();
// get next module for each open course
foreach ($recentOpen as $key => &$value) {
$currentModule = $value['CourseModule']['id'];
$neighbors = $this->CoursesEmployees->CourseModules->find(
'neighbors',
['field' => 'id', 'value' => $currentModule]
);
$value['CourseModule']['next_module'] = $neighbors['next']['CourseModule']['name'];
};
与代码的另一个问题,我发现是$this->CoursesEmployees->find('all', $options)->toArray();
仿佛回到一切CakePHP中使用复杂的阵列来查询表,而不是实际结果就像我使用CakePHP 2.获得我加入了->toArray()
与建议3.0
谢谢,我会寻找建立我自己的发现者的方法。至少它我知道没有替代它。羞愧是有用的,看不出有理由放弃它。如果我没有从'$ this-> CoursesEmployees-> find('all',$ options) - > toArray()获得结果,你会有什么想法吗?'Cakephp 3在这个阶段似乎没有做这个查询有没有结果,不像2.0 –
我不知道最后一个问题@KeithPower。事实上,我有一些同样的问题,但我围绕它。也许你可以尝试另一种方式来做到这一点? ( '$ query = $ articles-> find() - > – Tzaoh