사람들이 도와줍니다. 나는 처음 온거야. 이렇게 각 항목을 재고 표시하고 싶습니다.YII 재고 관리 시스템 문제
이 작업을 수행하는 가장 좋은 방법은 무엇입니까 실제 데이터베이스?
사람들이 도와줍니다. 나는 처음 온거야. 이렇게 각 항목을 재고 표시하고 싶습니다.YII 재고 관리 시스템 문제
이 작업을 수행하는 가장 좋은 방법은 무엇입니까 실제 데이터베이스?
당신이 찾고있는 것은 크로스 탭 또는 피벗 테이블입니다. 여기에 링크가 있습니다 : http://www.artfulsoftware.com/infotree/qrytip.php?id=523
예 이것이 내가 원하는 것입니다. 그러나 yii 활성 레코드에서 수행하는 방법 –
활성 레코드는 오브젝트에 액세스하고 수정하는 편리한 방법이지만 모든 것을 수행 할 수는 없습니다. 아마도 [DAO 사용] (http://www.yiiframework.com/doc/guide/1.1/en/database.dao)? –
자신 만의 SQL을 작성해야합니다. 그리드에 결과를 표시하려면 CSqlDataProvider를 사용해야합니다. http://www.yiiframework.com/doc/api/1.1/CSqlDataProvider – jmarkmurphy
나는 똑같은 것을 찾고 있었고 CSqlDataProvider를 사용하여 해결책을 가졌습니다. CSqlDataProvider를 사용할 때 객체를 반환하는 CActiveDataProvider와는 달리 배열을 반환한다는 점에 유의해야합니다. 여기
는 veiw의 코드 모델 코드 여기public function displayStock($id)
{
$sql='SELECT product_id, COUNT(*) as productCount FROM stock WHERE assigned_to = 2 GROUP BY product_id';
$dataProvider=new CSqlDataProvider($sql, array(
'pagination'=>array(
'pageSize'=>10,
),
));
return $dataProvider;
}
입니다
$stockDataProvider = Stock::model()->displayStock(Yii::app()->user->id);
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'stock-grid',
'ajaxUpdate' => true,
'template'=>'{items}{summary}{pager}',
'dataProvider'=>$stockDataProvider,
'columns'=>array(
'product_id',
array(
'name'=>'test',
'value'=>'$data["productCount"]'
),
array(
'class' => 'CButtonColumn',
'template' => '{view} {update}',
),
),
));
모델의 SQL 문을 정의 할 때, 당신은 우리가 COUNT를 설정 한 볼 수 있습니다 (*) productCount라고합니다. 그런 다음보기에서 열 배열의 해당 이름을 참조하십시오.
array(
'name'=>'test',
'value'=>'$data["productCount"]'
),
따라서 단순히 사용한 이름으로 productCount를 대체하십시오.
나는 위의 코드가 쿼리 등에서 Binded params를 사용하여 약간 조정할 수 있다고 확신하지만 이것은 나에게 효과적이다.
모든 댓글이나 개선을 환영합니다. 나는 약 8 개월 PHP와 yii에 3 개월입니다.
다음은 http://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app – jmarkmurphy
이 내용을 읽었지만 내 문제는 다릅니다 –
Mohit I'dont는 do it ...이 값을 배열에 저장하거나 다른 방법으로 저장해야합니까? –