如何遍历多个foreach循环并将数据插入数据库

时间:2018-05-05 10:30:57

标签: php mysql excel laravel

早上好兄弟,你好吗? 我遇到了这个循环的问题

$users = User::all(); 
foreach($users as $user)
{
    foreach($data->toArray() as $dataRows) 
    { 
        if($user->admin ==0) 
        {
            $Data[]= 
                [
                'user_id' => $user->id, 
                'avatar' => 'avatar.png',
                'about' => $dataRows['description'] 
                ];
        }
    }
}
profile::insert($Data); 

它遍历每个用户并将所有dataRows分配给每个用户。请帮忙

1 个答案:

答案 0 :(得分:0)

假设您的users数组已编制索引且行数据是关联数组的索引数组,您可以使用共享索引($i)将数据与单个循环结合/同步。

$users = User::all();
$rows = $data->toArray();
foreach ($users as $i => $user) {
    if (!$user->admin) {
        $Data[]= 
            [
            'user_id' => $user->id, 
            'avatar' => 'avatar.png',
            'about' => isset($rows[$i]['description']) ? $rows[$i]['description'] : 'default'
            ];
    }
}
profile::insert($Data); 

P.S。在尝试访问该值之前,建议(根据您的数据)检查相应的$row数据是否与isset()一起存在。