Отношение множественных принадлежностей в одной модели для одного и того же внешнего ключа в 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, которое может отсутствовать. Повторное запекание моделей также может решить вашу проблему.

Другие вопросы по тегам