Мне нужно создать представление из записи, показывающей все переводы, и я также хочу добавить таблицы, показывающие прикрепленные записи из связанных моделей, к этой конкретной записи. Связанные модели не нужно переводить, их можно просто показать на текущем языке. Есть ли способ объединить «Содержать» с -> найти («переводы») ->? Или как лучше всего это сделать?
например Группа имеет много Ролей. Итак, я хочу показать группу со всеми переводами для Groups.name, а также список всех ролей, принадлежащих этой группе.
Теперь я сделал это с отдельными находками:
public function view($id = null)
{
$group = $this->Groups->find('translations')->where(['Groups.id' => $id])->first();
$this->set('group', $group);
// related Roles
$related_roles = $this->Groups->Roles->find('all', [
'conditions' => ['Roles.group_id' => $id]
]);
$this->set('related_roles', $related_roles);
}
Но мне интересно, нельзя ли объединить это в 1 find, если есть возможность использовать какой-то метод contains() с find('translations').
contain()
в первом запросе? Я все еще не уверен, каким должен быть результат, судя по первоначальному заявлению, вы хотите, чтобы защитные оболочки не были переведены, но обновление читается так, как будто вы, возможно, хотите, чтобы защитные оболочки также были переведены? - person ndm   schedule 27.08.2018