У меня есть приложение CakePHP с плагином "ProjectsManager".
src / Model / Table / ImagesTable.php :
public function initialize(array $config)
{
...
$this->belongsToMany('ProjectsManager.Projects', [
'className' => 'ProjectsManager.Projects',
'foreignKey' => 'image_id',
'targetForeignKey' => 'project_id',
'joinTable' => 'images_projects'
]);
плагины / ProjectsManager / src / Model / ProjectsTable.php :
public function initialize(array $config)
{
...
$this->hasMany('Images', [
'className' => 'Images',
'foreignKey' => 'project_id',
'targetForeignKey' => 'image_id',
'joinTable' => 'images_projects'
]);
$this->hasOne('CoverImage', [
'className' => 'Images',
'bindingKey' => 'cover',
'foreignKey' => 'id'
]);
плагины / ProjectsManager / src / Controller / Publica / ProjectsController.php :
$this->paginate = [
'fields' => ['Projects.title', 'Projects.slug', 'Projects.cover'],
'conditions' => $where,
'contain' => ['Images','CoverImage' => ['fields' => ['filename']]],
'limit' => 15,
'order' => ['id' => 'desc']
];
Итак, в моем контроллере я хочу загрузить все проекты и связанные изображения, посмотрите на код выше.Запуск этого дает мне ошибку:
Ассоциация изображений не определена в проектах.
Так что я искал и читал и обнаружил, что мне нужно поставить префиксплагин, чтобы заставить его работать.Так я и сделал, как видно из кода.Однако ошибка остается.
Есть идеи?