У меня есть 2 таблицы, одно из изображений которых относится к нескольким разным таблицам, а в другой таблице ссылка на id_imagen с идентификатором таблицы изображений.
Таблица документов:
id | id_imagen | титуло | Texto
Таблица изображений:
id | табла | Imagen | типо
Отношения:
Doumentos.id_imagen = Imagenes.id
В модель изображений я положил:
$this->belongsTo('Escudos', [
'className' => 'Documentos',
'foreignKey' => 'id_imagen',
'conditions' => ['tabla' => 'escudos']
]);
В модель документов я положил:
$this->hasOne('Imagenes');
В контроллере документов:
$imagenes = TableRegistry::get('Imagenes');
$documentos = TableRegistry::get('Documentos');
$documentos = $imagenes->$documentos
->find('all')
->select(['Documentos.id', 'Documentos.titulo', 'Documentos.texto', 'Imagenes.imagen'])
->all();
$this->set('documentos', $documentos);
Я получаю следующую ошибку:
Предупреждение (4096): объект класса App \ Model \ Table \ DocumentosTable не может
преобразовать в строку [APP / Controller / DocumentosController.php, строка 21]