У меня есть 2 таблицы в моей базе данных.получить данные из нескольких таблиц в cakephp 2X
Product | id, service_id, name
Price | product_id, amount, priods
Как я могу выбрать данные из этой таблицы?
У меня есть 2 таблицы в моей базе данных.получить данные из нескольких таблиц в cakephp 2X
Product | id, service_id, name
Price | product_id, amount, priods
Как я могу выбрать данные из этой таблицы?
Я считаю, что у каждого продукта есть цена. Для этого начните с привязки таблицы PRODUCT к PRICE. В торте это делается очень легко:
в вашей модели (Product.php
)
class Product extends AppModel{
public $hasMany = array('Price');
}
в Price.php
class Price extends AppModel{
public $hasBelongTo = array('Product');
}
в контроллере, если вы запрашиваете любой из этих моделей возвращаемый массив будет содержать данные с обеих моделей.
сделать отношения как следовать
Product.php
....
public $hasMany = array(
'Price' => array(
'className' => 'Price',
'foreignKey' => 'product_id',
'dependent' => true,
'conditions' => '',
'group' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
....
Price.php
.....
public $belongsTo = array(
'Product' => array(
'className' => 'Product',
'foreignKey' => 'product_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
....
Затем в использовании контроллера, этот запрос
$this->Product->find('all',array('contain'=>array('Price')));