2017-08-08 87 views
0

我有一個存儲設備的表和一個存儲在審計過程中捕獲的數據的表。我正在使用Yii2編寫這個審計系統。迭代php循環以包含父ID

這裏是我的控制器和視圖的片段。

控制器:

public function actionAudit() 
{ 
    $devices = Device::find()->all(); 
    $deviceAudits = [new DeviceAudit()]; 

    for ($i = 1; $i < count($devices); $i++) { 
     $deviceAudits[] = new DeviceAudit; 
     // Now, how to assign 
     // foreach $deviceAudit->$device->id 
     // (I am guessing an array_push here?) 

    } 
    .... 
} 

查看:

... 
<?php foreach ($deviceAudits as $index => $deviceAudit): ?> 
<?= $form->field($deviceAudit, "[$index]device_id")->textInput() ?> 
<?= $form->field($deviceAudit, "[$index]status_id")->textInput() ?> 
<?= $form->field($deviceAudit, "[$index]notes")->textInput() ?> 
<?php endforeach ?> 
... 

我已成功地檢索審計的次數,但我不知道如何將外鍵「的設備ID 「,每次檢查。

enter image description here

回答

0

通過修改我的控制器以下容易固定,那就是:

public function actionAudit() 
{ 
    $devices = Device::find()->all(); 

    foreach ($devices as $device) { 
     $deviceAudit = new DeviceAudit; 
     $deviceAudit->device_id = $device->id; 
     $deviceAudits[] = $deviceAudit; 
    } 

    .... 
}