代码之家  ›  专栏  ›  技术社区  ›  Christian Gallarmin

Laravel将数据数组插入数据库

  •  0
  • Christian Gallarmin  · 技术社区  · 7 年前

    我在my controller处有这行代码,用于从Google Analytics获取数据

    $analyticsdata=analytics::performQuery(period::days(30)),
    “GA:”
    [
    'metrics'=>'ga:users,ga:newusers,ga:sessions,ga:sessionsperuser,ga:pageviews,ga:pageviewspersession,ga:avgsessionduration,ga:bounderrate',
    '开始日期'=>'2018-08-01',
    '结束日期'=>'2018-09-02',
    'dimensions'=>'ga:pageTitle',
    )
    < /代码> 
    
    

    当我dd($analyticsdata);This is what I got.

    这是我的迁移查询。

    schema::create('analytics',function(blueprint$table))。{
    $table->增量(“id”);
    $table->integer('site_id');
    $table->string('site_url');
    $table->integer('report_id');
    $table->integer('analytics_view_id');
    $table->日期(“reportGenerated”);
    $table->整数(“高斯”);
    $table->integer(“ganewusers”);
    $table->integer(“gasessions”);
    $table->integer('gasessionsperuser');
    $table->integer(“gapageview”);
    $table->integer('gapageviewspersession');
    $table->整数(“gaavgsession”);
    $table->integer(“gabounderrate”);
    
    (});
    < /代码> 
    
    

    现在我的问题是如何将这些数组数据存储到数据库中?谢谢你。

    当我dd($analyticsData);这就是我得到的。

    analytics

    这是我的迁移查询。

        Schema::create('analytics', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('site_id');
            $table->string('site_url');
            $table->integer('report_id');
            $table->integer('analytics_view_id'); 
            $table->date('reportGenerated');
            $table->integer('gaUsers');
            $table->integer('gaNewUsers');
            $table->integer('gaSessions');
            $table->integer('gaSessionsPerUser');
            $table->integer('gaPageviews');
            $table->integer('gaPageviewsPerSession');
            $table->integer('gaAvgSession');
            $table->integer('gaBounceRate');
    
        });
    

    现在我的问题是如何将这些数组数据存储到数据库中?谢谢您。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Marcin Nabiałek    7 年前

    它应该是这样的:

    $model = Analytics::create([
       'gaUsers' => $analyticsData['ga:users'],
       'gaNewUsers' => $analyticsData['ga:newUsers'],
       // ... and so on...
    ]);
    

    以防万一,确保你有这些字段 $fillable 你的属性 Analytics 模型。

        2
  •  1
  •   Madhur Bhaiya    7 年前

    尝试:

    $analytic = new Analytics();
    
    $analytic->gaUsers = $analyticsData['ga:users'];
    $analytic->gaNewUsers = $analyticsData['ga:newUsers'];
    ...
    $analytic->save();
    
    推荐文章