Отношения в такой модели, как hasMany
и belongsTo
, являются просто возможными определениями.Вы можете выбрать, какие из них вы хотите вернуть, когда делаете find()
с чем-то, называемым Containable поведение .Ознакомьтесь с документацией для получения подробной информации.
Вы начинаете с добавления поведения к вашей Product
модели:
class Product extends AppModel {
public $actsAs = array('Containable'); // add this line
...
}
Затем, когда вы хотите запросить ваши продукты, вы ставите hasMany
отношения, которые вы хотите вернуть в методе contain()
до find()
.
$this->Product->contain('Sales');
$products = $this->Product->find('all', ...);
Тогда у вас будут только Продукты и связанные Продажи.