我已经正确配置了所有相应的模型关联。
这是我的数据库 SQL 脚本,因此您可以轻松查看外键关联:
create table proveedors
(
id int primary key AUTO_INCREMENT,
nombre varchar(256)
);
create table libros
(
id int primary key AUTO_INCREMENT,
proveedor_id int,
FOREIGN KEY (proveedor_id) REFERENCES proveedors(id),
titulo varchar(1024),
autor varchar(512)
);
create table materias
(
id int primary key AUTO_INCREMENT,
nombre varchar(1024),
version varchar(8)
);
create table libros_materias
(
id int primary key AUTO_INCREMENT,
materia_id int,
FOREIGN KEY (materia_id) REFERENCES materias(id),
libro_id int,
FOREIGN KEY (libro_id) REFERENCES libros(id)
);
这是我正在运行的查询:
# Buscar todos los libros asociados a esta materia.
$libros = $this->LibrosMateria->findAllByMateriaId($id);
$this->set('libros', $libros);
现在它正在按预期正确获取所有数据;我只需要让查询多跳一点,然后让我得到Proveedor's name
.
当前查询返回:
(int) 0 => array(
'LibrosMateria' => array(
'id' => '2',
'materia_id' => '1',
'libro_id' => '1'
),
'Materia' => array(
'id' => '1',
'tipo_materia_id' => '1',
'sigla' => 'MKT-111',
'nombre' => 'Direccion de Marketing',
'version' => '3-2012'
),
'Libro' => array(
'id' => '1',
'proveedor_id' => '1',
'titulo' => 'PHP 2.0',
'autor' => 'Arhari',
'edicion' => '3ra Edicion',
'isbn' => '0912309',
'cantidad_de_paginas' => '912',
'fecha_de_publicacion' => '2012-10-08',
'portada' => null
)
),
我可以看到它正在制作 1 个单外键跃点,但不会更进一步。CakePHP 有什么方法可以做到这一点吗?有什么建议么?记住:我的模型关联设置正确。