Laravel在尝试保存到数据库时出现错误

时间:2018-11-01 10:46:28

标签: php laravel

我是laravel的新手,大约3个月前和每分钟开始。 我正在尝试将您从twitteroath +关注者那里获得的数据保存到我的数据库中,但是当我尝试保存它时会出现错误。 Atm我正在使用laravel 5.6和php 7.6


这是我在控制器中存储功能中的代码。我的控制器中直到保存的所有内容都可以获取每个日期,即使$ twitter =新的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');
   }
}

如果某人想要它,这也是我数据库中的表。

My table

我想知道我做错了什么,只是我正在寻找的一个很小的错误。


编辑

我忘了在我的坏地方张贴错误消息。

  

SQLSTATE [42S22]:找不到列:1054中的未知列'updated_at'   “字段列表”(SQL:插入twitterstwitter_idauth_token,   auth_token_secretusernamefollowersupdated_at,   created_at)值(123,测试,测试,测试,123,2018-11-01 10:50:18,   2018-11-01 10:50:18))

这是我得到的错误。

1 个答案:

答案 0 :(得分:0)

在模型中编写以下代码

public $timestamps = false;

然后重试