2017-06-11 1 views
1
$dataProviderDetails = new ActiveDataProvider([ 

       'query'=> $details 
          ->select(['pk_int_particular_id','vchr_particular_name','int_amount']) 
          ->from('tbl_payroll_details') 
          ->join('INNER JOIN', 'tbl_salary_particular', 'tbl_salary_particular.pk_int_particular_id = tbl_payroll_details.fk_salary_particular_id') 
          ->where(['fk_int_payroll_id'=> $id]) 
          ->All(), 
          ]); 


     $payroll = $dataProviderDetails->query;  
     return $this->render('view', [ 
       //'model' => $model, 
       'payroll' => $payroll 
     ]); 

diese dynamisch hinzuzufügen, verbinden die Ergebnismenge enthalten istwie Anzahl der Zeilen in Detail in yii2

Array ([0] => Array ([pk_int_particular_id] => 1 [vchr_particular_name] => basicSalary [int_amount] => 10000) [1] => Array ([pk_int_particular_id] => 2 [vchr_particular_name] => HRA [int_amount] => 200) [2] => Array ([pk_int_particular_id] => 3 [vchr_particular_name] => PA [int_amount] => 500) [3] => Array ([pk_int_particular_id] => 4 [vchr_particular_name] => professionaltax [int_amount] => 1000)) 

I Ergebnis in Detail wie $payroll[0][vchr_particular_name]

gedruckt, aber ich würde, kann wissen, wie Ich füge die Anzahl der Zeilen im Detail mit dem Array-Index dynamisch hinzu. Ist es möglich?

+0

Sie meinen die Gesamtzahl der ausgewählten Zeilen? – scaisEdge

+0

yea Gesamtanzahl sollte die Anzahl der Zeilen sein – Midlaj

+0

Ich habe bereits geschrieben und antworten hoffe, ist nützlich – scaisEdge

Antwort

0

Wenn Sie nur die Gesamtanzahl der Zeilen müssen wählen Sie count() statt alle in der Abfrage

->select(['pk_int_particular_id', 'vchr_particular_name', 'int_amount']) 
    ->from('tbl_payroll_details') 
    ->join('INNER JOIN', 'tbl_salary_particular', 'tbl_salary_particular.pk_int_particular_id = tbl_payroll_details.fk_salary_particular_id') 
    ->where(['fk_int_payroll_id'=> $id]) 
    ->count() 

verwenden könnte, aber nicht vergessen, dass in einem activeDataProvider sollte dies bereits berechnet werden das Objekt selbst und zu speichern in der Unterkunft ‚totalcount‘ oder Sie können es getTotalCount() Methode von activeDataProvider

erhalten mit
$dataProviderDetails->totalCount; 
$dataProviderDetails->getTotalCount(); 
+0

ja Ihr Recht. aber in wo ich die Anzahl festlegte, um die festen Datensätze zu drucken, Angenommen, Array gibt 5 Zeilen zurück, dann sollten die Zeilen von detailView 5 sein, oder 8 Zeilen sollte es 8 sein DetailView sollte ich die Gesamtanzahl festlegen? ich denke du hast ein Problem ... – Midlaj

+0

. Sie haben den Wert in DataProvider. So können Sie praktisch drucken, wo Sie bevorzugen ... siehe hier für einen Vorschlag http://www.yiiframework.com/doc-2.0/yii-widgets-detailview.html – scaisEdge

+0

thnksss @scaisEdge – Midlaj