Yii 응용 프로그램에 2 개의 테이블이 있습니다. 범주 및 항목. 내가하고 싶은 무엇DataProvider 데이터 항목으로 배열 병합
Category
- id
- name
Item
- id
- category_id
- name
는 항목 테이블의 각 카테고리의 항목 수를 계산 이후 카테고리 테이블에있는 항목의 목록을 얻을 수 있습니다.
CActiveDataProvider를 사용하여 Category 테이블의 항목 목록을 검색 한 다음 for 루프를 사용하여 각 범주의 항목 수를 계산합니다. 그러나 배열을 DataProvider 데이터 항목과 병합하는 방법을 알아낼 수 없습니다.
여기 내 코드가 있습니다.
public function actionIndex()
{
$dataProvider = new CActiveDataProvider('Category', array(
'criteria' => array(
'select' => 'id, name, slug',
'order' => 'name ASC',
),
));
$dataProvider->setPagination(false);
$count = array();
foreach($dataProvider->getData() as $categoryData) {
$count[] = Item::model()->count("category_id = :categoryID", array("categoryID" => $categoryData->id));
}
$this->render('index', array(
'dataProvider' => $dataProvider,
'count' => $count,
));
}
CListView와 함께 사용할 수 있도록 $ count 배열을 기존 dataProvider 데이터 항목과 어떻게 병합합니까? 이보다 훨씬 좋은 해결책이 있습니까?
당신은 안 관계를 올바르게 설정해야합니다. 색인보기에 무엇이 있는지 보여줄 수 있습니까? – Pitchinnate
실제로 gii로 만들어진 기본 파일을 사용하고 있다면'_view.php' 파일을 공유 할 수 있습니다. – Pitchinnate