それぞれのモデルの関連付けはすべて、私の側で正しく構成されています。
外部キーの関連付けを簡単に確認できるように、データベース 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);
現在、期待どおりにすべてのデータを正しくフェッチしています。クエリをもう 1 つ少しホップさせて、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 でこれを行う方法はありますか? 助言がありますか?注意:モデルの関連付けは正しく設定されています。