2014-02-06 1 views
0

У меня есть 2 таблицы на модели, Table1 и Table2 Колонка на Table1CakePHP, Как получать значение из другой таблицы

ID | Content1 

Колонка на Table2

ID | table1_id | Content2 

я хочу, чтобы отобразить содержание в Table1 на Table2, как присоединиться к столбцу?

спасибо заранее!

+2

Вопрос не ясен. Также опубликуйте свой доработанный код. – Rikesh

+0

Используйте запрос поиска и попытайтесь использовать Contain .. Но вопрос, который вы задали, не ясен. Вам нужна дополнительная информация, чтобы помочь вам – AnNaMaLaI

+0

Вы хотите присоединиться к результату обеих таблиц? –

ответ

2

Model\Model1.php

<?php 
App::uses('AppModel', 'Model'); 

class Model1 extends AppModel { 

    public $useTable = 'table1'; 

} 

Model\Model2.php

<?php 
App::uses('AppModel', 'Model'); 

class Model2 extends AppModel { 

    public $useTable = 'table2'; 

    public $belongsTo = array(
     'Model1' => array(
      'className' => 'Model1', 
      'foreignKey' => 'table1_id' 
     ) 
    ); 

} 

В контроллере:

$data = $this->Model2->find('all'); 

Сгенерированный запрос будет

SELECT `Model2`.`id`, `Model2`.`table1_id`, `Model2`.`content2`, `Model1`.`id`, `Model1`.`content1` FROM `db`.`table2` AS `Model2` LEFT JOIN `cake244`.`table1` AS `Model1` ON (`Model2`.`table1_id` = `Model1`.`id`) WHERE 1 = 1