Laravel получает ошибку при попытке сохранить в базу данных - PullRequest
0 голосов
/ 01 ноября 2018

Я вроде новичка в Laravel, который начал около 3 месяцев назад и в минуту. Я пытаюсь сохранить данные, которые вы возвращаете из твиттера + подписчиков, в мою базу данных, но когда я пытаюсь сохранить, выдается ошибка. АТМ я работаю с Laravel 5.6 и PHP 7,6


Это мой код в магазине функций моего контроллера. все в моем контроллере до сохранения работает, получая каждую дату, даже $ twitter = new twitter работает. если я дам дамп () / dd () $ twitter в конце, он должен будет исправить информацию. но как только я добавлю $ twitter-> save (); вернуть ошибку

    define('CONSUMER_KEY', getenv('TWITTER_CONSUMER_KEY'));
    define('CONSUMER_SECRET', getenv('TWITTER_CONSUMER_SECRET'));
    define('OAUTH_CALLBACK', getenv('TWITTER_OAUTH_CALLBACK'));

    $request_token = [];
    $request_token['oauth_token'] = $_SESSION['oauth_token'];
    $request_token['oauth_token_secret'] = $_SESSION['oauth_token_secret'];

    if (isset($_REQUEST['oauth_token']) && $request_token['oauth_token'] !== $_REQUEST['oauth_token']) {
        return redirect::to('dashboard.settings.index')->with('message', 'Login Failed!');
    }

    //This is for getting the twitteroath access_tokens, id and screenname.
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $request_token['oauth_token'], $request_token['oauth_token_secret']);
    $access_token = $connection->oauth("oauth/access_token", ["oauth_verifier" => $_REQUEST['oauth_verifier']]);
    $_SESSION['access_token'] = $access_token;

    //This is used to get the the follower count
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
    $user = $connection->get('account/verify_credentials', ['tweet_mode' => 'extended', 'include_entities' => 'true']);

    $twitter = new twitter;
    $twitter->twitter_id = $access_token['user_id'];
    $twitter->auth_token = $access_token['oauth_token'];
    $twitter->auth_token_secret = $access_token['oauth_token_secret'];
    $twitter->username = $access_token['screen_name'];
    $twitter->followers = $user->followers_count;
    $twitter->save();  //<--- this is where is gets the error
    return redirect('/dashboard/settings');

А это моя модель для подключения к моей базе данных

<?php 
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class twitter extends Model
{
   public function twitter_post()
   {
      return $this->hasMany('App\Models\twitter_post');
   }

   public function ContactInformation()
   {
      return $this->hasOne('App\Models\ContactInformation');
   }
}

Если кто-то захочет, вот моя таблица в моей базе данных.

Мой стол

Интересно, что я делаю неправильно, это очень маленькая ошибка, которую я смотрю прямо.


EDIT

Я забыл опубликовать здесь ошибку, мой плохой.

SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец «updated_at» в 'список полей' (SQL: вставить в twitters (twitter_id, auth_token, auth_token_secret, username, followers, updated_at, created_at) значения (123, тест, тест, тест, 123, 2018-11-01 10:50:18, 2018-11-01 10:50:18))

Это ошибка, которую я получаю.

1 Ответ

0 голосов
/ 01 ноября 2018

Напишите следующий код в вашей модели

public $timestamps = false;

и попробуйте снова

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