Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用区块将数据插入数据库Laravel_Laravel_Eloquent - Fatal编程技术网

使用区块将数据插入数据库Laravel

使用区块将数据插入数据库Laravel,laravel,eloquent,Laravel,Eloquent,我正试图将锦标赛选手分成不同的小组。我正在使用chunk方法将每10名玩家(或用户)分成一组 我尝试如下: public function store(Request $request) { $tournamentid = $request->tournamentid; $data = TournamentPlayer::where('tournament_id', $tournamentid)->get()->chunk(10); for ($i=1

我正试图将锦标赛选手分成不同的小组。我正在使用
chunk
方法将每10名玩家(或用户)分成一组

我尝试如下:

public function store(Request $request)
{
    $tournamentid = $request->tournamentid;
    $data = TournamentPlayer::where('tournament_id', $tournamentid)->get()->chunk(10);

    for ($i=1; $i <= count($data); $i++) {
        foreach ($data as $group) {
            foreach ($group as $key => $value) {
                TournamentGroup::create([
                    'group' => $i,
                    'tournament_id' => $tournamentid,
                    'user_id' => $value->user_id //player
                ]);
            }
        }

    }
}
公共函数存储(请求$Request)
{
$tournamentid=$request->tournamentid;
$data=TournamentPlayer::where('tournamentid',$tournamentid)->get()->chunk(10);
对于($i=1;$i$value){
TournamentGroup::创建([
“组”=>$i,
“锦标赛id”=>$tournamentid,
'user\u id'=>$value->user\u id//player
]);
}
}
}
}
但是,这并没有给我预期的结果。它存储每个组的所有记录,但我想像这样存储-第一个10条或更少的记录作为组1,第二个10条或更少的记录作为组2,依此类推

谢谢

希望它能起作用

public function store(Request $request)
{
    $tournamentid = $request->tournamentid;
    $data = TournamentPlayer::where('tournament_id', $tournamentid)->get()->chunk(10);

    // for ($i=1; $i <= count($data); $i++) { //removed
        foreach ($data as $i => $group) { // also assigned key for group count
            foreach ($group as $key => $value) {
                TournamentGroup::create([
                    'group' => $i+1, //changed
                    'tournament_id' => $tournamentid,
                    'user_id' => $value->user_id //player
                ]);
            }
        }

    //} //removed
}
公共函数存储(请求$Request)
{
$tournamentid=$request->tournamentid;
$data=TournamentPlayer::where('tournamentid',$tournamentid)->get()->chunk(10);
//对于($i=1;$i$group){//还为组计数分配了密钥
foreach($key=>$value的组){
TournamentGroup::创建([
“组”=>$i+1,//已更改
“锦标赛id”=>$tournamentid,
'user\u id'=>$value->user\u id//player
]);
}
}
//}//删除
}

是否插入了第2组…??是的,第2组插入是否可以尝试像
foreach($key=>group[$i]as$value){
foreach($group[$i]=>value){
如果使用
$group[$i]
则它会给出
试图获取非对象的属性“user\id”
错误。是否发送数组值
print\r($data)
在区块之后…获取
属性[user\u id]在此集合实例上不存在
错误