-2

У меня есть 3 таблицы, такие как A, B и C .. A и B имеют отношение, но A и C не имеют никакого соединения. B и C.Получить связанные значения таблицы в cakephp3

В действии индексации cakephp3 возвращается только отношение A и B. .. Мне нужно взять данные таблицы C.

Таблица Детали:

  1. Purchase_details
  2. measure_inventories
  3. measurement_lables

Table details image

+1

Не могли бы вы добавить свой код на вопрос и вы смотрели на [Загрузка общества] (https://book.cakephp.org/3.0/en/orm/query-builder.html#loading-associations) – Sevvlor

+0

добавил несколько подробнее .. надеюсь, что будет полезно – user294095

+0

где ваше действие индекса? опубликуйте эту функцию тоже. –

ответ

1

Вы можете использовать contain, чтобы получить связанные данные таблицы ..

Если вы хотите ассоциацию ассоциаций, вы также можете использовать recursive. Но если вы хотите, это только с одной ассоциации, то вы можете попробовать это:

$data = $this->PurchaseDetails->find('all') 
        ->contain(['MeasurementInventories' => ['MeasurementLables']])->toArray(); 
0

Вы должны использовать содержать(), чтобы получить связанные с ним данные таблицы/модели, как: -

$data = $this->PurchaseDetails->find()->contain(['MeasurementInventories' => ['MeasurementLables']])->toArray(); 

Если ваше требование чтобы показать данные только из measurement_lables, то вы можете добавить выберите(), чтобы получить желаемые данные модели, как: -

$data = $this->PurchaseDetails->find()->contain(['MeasurementInventories' => ['MeasurementLables']])->select(['MeasurementLables.*'])->toArray(); 

Примечание: - при использовании содержать(), вы должны быть уверены, что мо dels связаны друг с другом. например PurchaseDetails модель должна быть связана с MeasurementInventories (belongsTo, hasMany, hasOne и т.д ...)

$this->belongsTo('PurchaseDetails', [ 
    'className' => 'MeasurementInventories', 
    'foreignKey' => 'columnName'    
]); 

И MeasurementInventories связано с MeasurementLables.

$this->belongsTo('MeasurementInventories', [ 
    'className' => 'MeasurementLables', 
    'foreignKey' => 'columnName'    
]); 

 Смежные вопросы

  • Нет связанных вопросов^_^