简体   繁体   English

如何在mysql数据库laravel中存储数组数据?

[英]How to store array data in mysql database laravel?

I am getting error Trying to access array offset on value of type int我收到错误Trying to access array offset on value of type int

Below is my controller for storing array data into database下面是我的 controller 用于将数组数据存储到数据库中

    for ($i = 1; $i < count($request->sanitation_point_id); $i++) {
        $sanitation_points[] = [
            'daily_log_id' => $daily_log->id[$i],
            'sanitation_point_id' => $request->sanitation_point_id[$i]
        ];
        SanitationDailylogRelation::create($sanitation_points);
    }

array index is started from zero, change your looping initial variable to 0 ( $i = 0; )数组索引从零开始,将循环初始变量更改为 0 ( $i = 0; )

full code:完整代码:

for ($i = 0; $i < count($request->sanitation_point_id); $i++) {
    $sanitation_points[] = [
        'daily_log_id' => $daily_log->id[$i],
        'sanitation_point_id' => $request->sanitation_point_id[$i]
    ];
    SanitationDailylogRelation::create($sanitation_points);
}

or for better handling:或为了更好的处理:

for ($i = 0; $i < count($request->sanitation_point_id); $i++) {
  if(isset($daily_log->id[$i]) && isset($request->sanitation_point_id[$i]))
  {
    $sanitation_points[] = [
        'daily_log_id' => $daily_log->id[$i],
        'sanitation_point_id' => $request->sanitation_point_id[$i]
    ];
    SanitationDailylogRelation::create($sanitation_points);
  }
}

try this尝试这个

for ($i = 1; $i < count($request->sanitation_point_id); $i++) {
        $sanitation_points = [
            'daily_log_id' => $daily_log->id[$i],
            'sanitation_point_id' => $request->sanitation_point_id[$i]
        ];
        SanitationDailylogRelation::create($sanitation_points);
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM