2017-08-08 117 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; 
    } 

    .... 
}