2016-11-18 145 views
0

我需要做一个DB惰性的,看起来像这样:PHP推维数组

DB::table('users')->insert([ 
    ['email' => '[email protected]', 'votes' => 0], 
    ['email' => '[email protected]', 'votes' => 0] 
]); 

但我tryint建立与例如在一个循环的动态值的数据添加更多的时间:

array_push($a,'email' => $this->mail,'votes' => $this->votes); 

所以,我可以简单地以后运行此:

DB::table('users')->insert($myData); 

所以,我怎么能推维数组?

+0

你到底在做什么?你能展示结构吗? – ggderas

回答

1

如果我正确理解你的问题。你可以做简单的做到这些,你可以把你的阵列原始数组所以它会创建一个多元数组。

$a = array(); 
    array_push($a,array('email' => $this->mail,'votes' => $this->votes)); 
+1

哦,那就是我搞砸了,我忘了数组( – user2636197

0

你可以这样做:

$array = []; 

    $dataComingFromSomewhere = []; // Assuming this is your data source 

    for($index = 0; $index < count($dataComingFromSomewhere); $index++) 
    { 
     $newUserArray = ['email' => $dataComingFromSomewhere[$index]->email, 'votes' => $dataComingFromSomewhere[$index]->votes]; 
     array_push($array, $newUserArray); 
    } 

    DB::table('users')->insert($array); 
0

眼前这个

$myData[]= array('email' => $this->mail,'votes' => $this->votes); 
DB::table('users')->insert($myData); 
0

使用不当的array_push()。推一个关联元素,它是这样的:

$a['email'] = $this->mail; $a['votes'] = $this->votes; 

或做到这一点:

$a = array_merge($a, array('email' => $this->mail, 'votes' => $this->votes)); 
0

首先初始化$a为空数组$a = array()

然后换行

array_push($a,'email' => $this->mail,'votes' => $this->votes); 

array_push($a,array('email' => $this->mail,'votes' => $this->votes)); 

,你可以做,

DB::table('users')->create($a);