Product Plan ProductPlan
id |name id |name id | product_id | plan_id
1 aplha 1 a 1 1 2
2 bravo 2 b
3 charlie
Я хочу найти имя продукта и название плана для ProductPlan, если идентификатор продукта и идентификатор плана для продукта существуют в ProductPlan, тогда будет отображаться имя плана и продукта, я много пробовал, отношения b/w tables правильно, но я не получить точные данные, запрос, который я использовал этоКак найти данные через внешний ключ в cakephp?
$p_plan = $this->ProductPlan->find('all',array(
'conditions'=>array(
'ProductPlan.product_id'=>'Product.product_id'
)
)
);
$this->set('p_plan', $p_plan);
если некоторые тела мне помочь, я буду очень thaksful к нему. Заранее спасибо.
связь Для плана
class Plan extends AppModel{
public $primaryKey='plan_id';
public $hasMany = array(
'ProductPlan'=>array(
'className' => 'ProductPlan',
'foreignKey' => 'plan_id'
)
);
Продукт
class Product extends AppModel{
public $primaryKey='product_id';
public $hasMany = array(
'ProductsUser'=>array(
'className' => 'ProductsUser',
'foreignKey' => 'product_id'
),
'ProductsUserNode'=>array(
'className' => 'ProductsUserNode',
'foreignKey' => 'product_id'
),
'ProductPlan'=>array(
'className' => 'ProductPlan',
'foreignKey' => 'product_id'
)
);
для плана продукта
class ProductPlan extends AppModel{
var $primaryKey='product_plan_id';
public $belongsTo = array(
'Product' => array(
'className' => 'Product',
'foreignKey' => 'product_id'
),
'Plan' => array(
'className' => 'Plan',
'foreignKey' => 'plan_id'
)
);
public $hasMany = array(
'ProductPlansUserNode'=>array(
'className' => 'ProductPlansUserNode',
'foreignKey' => 'product_plan_id'
),
);
}
Я использовал его, но продукт повторяется, например, если продукт (альфа) имеет два плана (a и b), то aplha повторил его сам. – usii
Я хочу, чтобы, если продукт один и план много против плана, поэтому он написал как первый продукт, а затем продукт против плана – usii
Не уверен, что я последую за тобой. Вы хотите, чтобы все ваши продукты возвращались со связанными с ними планами? Что-то вроде $ this-> Product-> find ('all', array ('contains' => array ('Plan')). – drmonkeyninja