отношение множественных принадлежностей в одной модели для одного и того же внешнего ключа в cakephp 3 - PullRequest
0 голосов
/ 17 мая 2018

У меня есть одна модель 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' in 'в предложении'

1 Ответ

0 голосов
/ 22 мая 2018

Столбец не найден: 1054 Неизвестный столбец 'SupplierInquiry.inquiry_type' in 'on' в предложении '

Причина этой ошибки заключается в том, что в таблице базы данных supplier_inquiry должен отсутствовать запрос query_type, который может отсутствовать. Повторно испечьВаши модели также могут решить эту проблему.

...