저는 A, B, C와 같은 3 개의 테이블을 가지고 있습니다. A와 B는 관계가 있지만 A와 C는 어떤 연결도 가지고 있지 않습니다. B와 C 관련.cakephp3에서 관련 테이블 값을 얻으십시오.
cakephp3에서 인덱스 작업은 A와 B 릴레이션만을 반환합니다. i 테이블 C 데이터를 가져와야합니다.
표 세부 사항 :
- Purchase_details
- measure_inventories
- measurement_lables
저는 A, B, C와 같은 3 개의 테이블을 가지고 있습니다. A와 B는 관계가 있지만 A와 C는 어떤 연결도 가지고 있지 않습니다. B와 C 관련.cakephp3에서 관련 테이블 값을 얻으십시오.
cakephp3에서 인덱스 작업은 A와 B 릴레이션만을 반환합니다. i 테이블 C 데이터를 가져와야합니다.
표 세부 사항 :
당신은 관련된 테이블의 데이터를 얻을 수 contain
을 사용할 수 있습니다 ..
연결 협회를 원하면 recursive
을 사용할 수 있습니다. 당신은 하나 개의 연결로이 원하는 경우 그런데 당신이 시도 할 수 있습니다 :
$data = $this->PurchaseDetails->find('all')
->contain(['MeasurementInventories' => ['MeasurementLables']])->toArray();
를 사용 할 포함()과 같은 테이블/모델 데이터를 연결하려면 : - 귀하의 요구 사항 경우
$data = $this->PurchaseDetails->find()->contain(['MeasurementInventories' => ['MeasurementLables']])->toArray();
다음은 추가 할 수 있습니다 만 measurement_lables에서 데이터를 표시하는 것입니다 선택()처럼 원하는 모델 데이터를 얻을 수 있습니다 : -
$data = $this->PurchaseDetails->find()->contain(['MeasurementInventories' => ['MeasurementLables']])->select(['MeasurementLables.*'])->toArray();
참고 : - 당신은 미주리이 있는지 확인해야한다) (포함 사용하는 동안 델은 서로 연관되어있다. 예를 들어 PurchaseDetails에 대한 모델은 MeasurementInventories (belongsTo를, hasMany의, hasOne의 등)
$this->belongsTo('PurchaseDetails', [
'className' => 'MeasurementInventories',
'foreignKey' => 'columnName'
]);
그리고 MeasurementInventories MeasurementLables와 관련된과 관련되어야한다.
$this->belongsTo('MeasurementInventories', [
'className' => 'MeasurementLables',
'foreignKey' => 'columnName'
]);
당신이 질문에 코드를 추가하고 바라 보았다 수 있을까요 [로드 협회 (https://book.cakephp.org/3.0/en/orm/query-builder.html#loading-associations) – Sevvlor
더 자세히 설명해 드리겠습니다. 유용 할 것입니다. – user294095
귀하의 색인 작업은 어디에 있습니까? 그 기능도 게시하십시오. –