我有一个多维对象结果集,我想循环以将内部对象成员的值更改为外部对象成员的值。当循环完成执行时,即使每个外部对象成员的值不同,内部对象成员的值也都是相同的值,即最终外部对象成员的值。
foreach ($user as $key => &$value) {
$user[$key]->user->company = $value->Company;
}
当我转储包含对象的$ user数组时,我得到了这个结果:
Array
(
[0] => common\models\UserRoleMapping Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[User_Role_Mapping_Id] => 9b55d3a7-8de6-11e5-ae99-60a44ce86902
[User_Id] => 9b432c2c-8de6-11e5-ae99-60a44ce86902
[User_Role_Id] => 49c82d92-31d0-11e4-8309-60a44ce86902
[Status] => 8332b8d7-1990-11e4-8876-60a44ce86902
[Company] => 79538f95-7e25-11e5-b514-60a44ce86902
)
[_related:yii\db\BaseActiveRecord:private] => Array
(
[user] => common\models\User Object
(
[company] => 0e7505fc-7961-11e5-a563-60a44ce86902
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[User_Id] => 9b432c2c-8de6-11e5-ae99-60a44ce86902
[Username] => andre@hotmail.com
[Password] => fbb8f9f42cb0532f30759d9e4fa3e2fc90d714321ce11fdc42f5c9b23756979c6166e674e421b8580ab53a0e75e9d2758f7b8bbe70a33a5ad0cdc25b553e08b4
[Login_Status] => Offline
[Failed_Login_Attempts] => 0
[Verification] =>
[Salt] => dd7c8a297a8d34ba5dc7cd4b45a1e593
[Last_Reset] => 0000-00-00 00:00:00
[Status] => 8332b8d7-1990-11e4-8876-60a44ce86902
)
)
)
)
[1] => common\models\UserRoleMapping Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[User_Role_Mapping_Id] => fdb962ef-8de6-11e5-ae99-60a44ce86902
[User_Id] => 9b432c2c-8de6-11e5-ae99-60a44ce86902
[User_Role_Id] => 49c82d92-31d0-11e4-8309-60a44ce86902
[Status] => 8332b8d7-1990-11e4-8876-60a44ce86902
[Company] => 0e7505fc-7961-11e5-a563-60a44ce86902
)
[_related:yii\db\BaseActiveRecord:private] => Array
(
[user] => common\models\User Object
(
[company] => 0e7505fc-7961-11e5-a563-60a44ce86902
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[User_Id] => 9b432c2c-8de6-11e5-ae99-60a44ce86902
[Username] => andre@hotmail.com
[Password] => fbb8f9f42cb0532f30759d9e4fa3e2fc90d714321ce11fdc42f5c9b23756979c6166e674e421b8580ab53a0e75e9d2758f7b8bbe70a33a5ad0cdc25b553e08b4
[Login_Status] => Offline
[Failed_Login_Attempts] => 0
[Verification] =>
[Salt] => dd7c8a297a8d34ba5dc7cd4b45a1e593
[Last_Reset] => 0000-00-00 00:00:00
[Status] => 8332b8d7-1990-11e4-8876-60a44ce86902
)
)
)
)
)
正如您在转储值中看到的那样,两个内部用户对象的公司成员具有相同的值,其值在最终的外部对象公司成员中找到。
我正在寻求帮助,让我可以让每个内部用户对象拥有各自的外部对象公司值。