我需要使DB看起来像这样:
DB::table('users')->insert([
['email' => 'mailone@example.com', 'votes' => 0],
['email' => 'mailtwo@example.com', 'votes' => 0]
]);
但我尝试使用动态值构建数据,例如在循环中添加更多次:
array_push($a,'email' => $this->mail,'votes' => $this->votes);
这样我以后可以简单地运行它:
DB::table('users')->insert($myData);
那我怎样才能推出一个维数组呢?
答案 0 :(得分:1)
如果我正确理解你的问题。你可以做到这一点,你可以将数组推送到原始数组,这样就可以创建一个多元数组。
.always()
答案 1 :(得分: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);
答案 2 :(得分:0)
就是这个,
$myData[]= array('email' => $this->mail,'votes' => $this->votes);
DB::table('users')->insert($myData);
答案 3 :(得分:0)
x*b^p
使用不当。推送单个关联元素就像:
array_push()
或者这样做:
$a['email'] = $this->mail; $a['votes'] = $this->votes;
答案 4 :(得分: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);