Laravel вставить массив данных в базу данных - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть эта строка кодов на моем 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:bounceRate',
        'start-date' => '2018-08-01',
        'end-date' => '2018-09-02',
        'dimensions' => 'ga:pageTitle',
    ]);

Когда я 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 ]

0 голосов
/ 25 сентября 2018

Попробуйте:

$analytic = new Analytics();

$analytic->gaUsers = $analyticsData['ga:users'];
$analytic->gaNewUsers = $analyticsData['ga:newUsers'];
...
$analytic->save();
0 голосов
/ 25 сентября 2018

Это будет что-то вроде:

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

На всякий случай убедитесь, что у вас есть эти поля в атрибуте $fillable вашей Analytics модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...