Отношение множественных принадлежностей в одной модели для одного и того же внешнего ключа в cakephp 3
У меня есть одна модель SupplierInquiry, в которой есть несколько SupplierInquiryProducts, и в таблице SupplierInquiryProducts у меня есть внешний ключ product_id, а product_id может быть из многих моделей. Я применил отношения в SupplierInquiryProducts, как показано ниже
$this->belongsTo('ConsumablesMaster', [
'foreignKey' => 'product_id',
'className' => 'ConsumablesMaster'
])->setConditions(['SupplierInquiry.inquiry_type'=>'Consumable']);
$this->belongsTo('ProductsMaster', [
'foreignKey' => 'product_id',
'className' => 'ProductsMaster'
])->setConditions(['SupplierInquiry.inquiry_type'=>'Chemical Product']);
public function buildRules(RulesChecker $rules){
$rules->add($rules->existsIn(['supplier_inquiry_id'], 'SupplierInquiry'));
$rules->add($rules->existsIn(['product_id'], 'ConsumablesMaster'));
$rules->add($rules->existsIn(['product_id'], 'ProductsMaster'));
return $rules;
}
Здесь в то время, когда оба службы ownTo не работают, а также для примененного условия выдает ошибку, что столбец не найден: 1054 Неизвестный столбец "SupplierInquiry.inquiry_type" в "on clause"
1 ответ
Столбец не найден: 1054 Неизвестный столбец 'SupplierInquiry.inquiry_type' в 'on оговорке'
Причиной этой ошибки является то, что вы должны иметь в своей таблице базы данных supplier_inquiry значение query_type, которое может отсутствовать. Повторное запекание моделей также может решить вашу проблему.