webnevesht
یک شنبه 26 مرداد 1393, 08:55 صبح
سلام.
من یه تابع توی مدلم استفاده کردم برای گزارش گیری . که تابعش رو از روی تابع Search خود Yii که Gii تولید میکنه استفاده کردم.
public function report()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('paper_id',$this->paper_id);
$criteria->compare('seller_id',$this->seller_id);
if($this->paper_id!=""){
$criteria->group = 'seller_id';
}
if($this->seller_id!=""){
$criteria->group = 'paper_id';
}
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
توی این تابع میاد بر اساس فرم صفحه قبلش که دو تا DropDownlist داره میاد رکورد ها رو Group By میکنه .
مثلا رکوردهای A.b.c با هم گروه میشن.
و رکورد های d,e,f هم با هم.
الان میخوام توی دوتا رکوردی که در نهایت نوشته میشه -فرض مثال بالا- مجموع مقادیر اونها رو چاپ کنم.
صفحه View هم اینه:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'enter-grid',
'dataProvider'=>$model->report(),
'columns'=>array(
array(
'header'=>'ردیف',
'value'=>'$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)',
),
array(
'name'=>'paper_id',
'value'=>'$data->paper->paper_title',
),
array(
'name'=>'seller_id',
'value'=>'$data->seller->seller_name',
),
array(
'header'=>'تعداد',
'value'=>'$data->enter_number', // اینجا میخوام مقدار کل نشون داده بشه.الان مقدار یکی از رکوردها رو میزنه.
),
array(
'name'=>'جزئیات',
'value' => "CHtml::link('جزئیات',array('enter/report','enter_id'=>\$data->enter_id))",
'type'=>'raw',
),
),
));
من یه تابع توی مدلم استفاده کردم برای گزارش گیری . که تابعش رو از روی تابع Search خود Yii که Gii تولید میکنه استفاده کردم.
public function report()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('paper_id',$this->paper_id);
$criteria->compare('seller_id',$this->seller_id);
if($this->paper_id!=""){
$criteria->group = 'seller_id';
}
if($this->seller_id!=""){
$criteria->group = 'paper_id';
}
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
توی این تابع میاد بر اساس فرم صفحه قبلش که دو تا DropDownlist داره میاد رکورد ها رو Group By میکنه .
مثلا رکوردهای A.b.c با هم گروه میشن.
و رکورد های d,e,f هم با هم.
الان میخوام توی دوتا رکوردی که در نهایت نوشته میشه -فرض مثال بالا- مجموع مقادیر اونها رو چاپ کنم.
صفحه View هم اینه:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'enter-grid',
'dataProvider'=>$model->report(),
'columns'=>array(
array(
'header'=>'ردیف',
'value'=>'$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)',
),
array(
'name'=>'paper_id',
'value'=>'$data->paper->paper_title',
),
array(
'name'=>'seller_id',
'value'=>'$data->seller->seller_name',
),
array(
'header'=>'تعداد',
'value'=>'$data->enter_number', // اینجا میخوام مقدار کل نشون داده بشه.الان مقدار یکی از رکوردها رو میزنه.
),
array(
'name'=>'جزئیات',
'value' => "CHtml::link('جزئیات',array('enter/report','enter_id'=>\$data->enter_id))",
'type'=>'raw',
),
),
));