Laravel 4 laravel 4雄辩地插入专栏而不询问

Laravel 4 laravel 4雄辩地插入专栏而不询问,laravel-4,facebook-php-sdk,eloquent,Laravel 4,Facebook Php Sdk,Eloquent,我在一个Laravel4网站上实现了社交登录,我从Facebook开始使用官方的Facebook php sdk,一切都很好。用户首次登录时除外。当这种情况发生时,我想使用雄辩的“用户”模型在数据库中创建一个帐户 有些专栏“代码”和“状态”是如何被雄辩地添加的,我不明白为什么,任何解释都将不胜感激 我确实注意到在Laravel错误屏幕中有一个值查询字符串,其中包含这两个值,但我不知道它们是如何进入我的查询的 执行的代码: class SMLogin extends BaseController

我在一个Laravel4网站上实现了社交登录,我从Facebook开始使用官方的Facebook php sdk,一切都很好。用户首次登录时除外。当这种情况发生时,我想使用雄辩的“用户”模型在数据库中创建一个帐户

有些专栏“代码”和“状态”是如何被雄辩地添加的,我不明白为什么,任何解释都将不胜感激

我确实注意到在Laravel错误屏幕中有一个值查询字符串,其中包含这两个值,但我不知道它们是如何进入我的查询的

执行的代码:

class SMLogin extends BaseController {

private $credentials = null;

loginWithFacebook () {

//set social medium
$medium = 'facebook';
$this->credentials = Config::get($medium.'.credentials');

$params = [
   'redirect_uri' => route('login.fb'),
   'scope' => Config::get('facebook.scope'),
];
//get a FB object
$facebook = new Facebook($this->credentials);

//if there is a code available
if (Input::has('code')) {

    //get the user ID
    $uid = $facebook->getUser();

    //if the code is 0 send user to Facebook
    if ($uid == 0) {
...
    //if new user create the user local
    } else {
        $me = $facebook->api('/me');

        //get user of create it
        $user = User::firstOrNew([
            'email' => $me['email'],
        ]);

        $user['password'] = 'test';

        if (!$user->verified) {
            $user->verified = var_export($me['verified'],true);
        }

        if (isset($user->gender)) {
            $user->gender = ($me['gender'] == 'female')? 'F' : 'M';
        }

        if (isset($user->first_name)) {
            $user->first_name = $me['first_name'];
        }

        if (isset($user->last_name)) {
            $user->last_name = $me['last_name'];
        }

        //save user
        $user->save();
我的用户模型:

<?php
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
use Illuminate\Database\Eloquent\SoftDeletingTrait;

class User extends Ardent implements UserInterface, RemindableInterface {
    use SoftDeletingTrait;
    public $autoHydrateEntityFromInput = true;
    public $forceEntityHydrationFromInput = true;
    public static $passwordAttributes = ['password'];
    public $autoHashPasswordAttributes = true;
    protected $dates = ['deleted_at'];
    protected $guarded = [
        'id',
        'password',
        'twinfield_customer_id',
        'deleted_at',
        'updated_at',
        'created_at',
        'name',
        'business_name',
        'password_confirmation',
        'terms',
        'business_id'
    ];
    protected $hidden = ['password'];
    public static $rules = [
        'email' => 'required|email',
        'birthday' => 'sometimes|date',
        'gender' => 'in:M,F',
        'password' => 'required'
    ];
    public static $relationsData = [
        'business' => [self::BELONGS_TO, 'Business'],
        'orders' => [self::HAS_MANY, 'Order'],
        'social_media'  => [self::HAS_MANY, 'SocialUser']
    ];
    public function businesses(){
        return $this->belongsToMany('Business')->withTimestamps()->withPivot('admin','invited_by');
    }
    public function getAdminBusinesses($called_direct = true){
        $res = $this->businesses();
        if($called_direct)
            return $res->get();
        else
            return $res;
    }
    public function getFinishedAdminBusinesses(){
        return $this->getAdminBusinesses(false)->where('finished','=', true)->get();
    }
    public function getUnfinishedAdminBusinesses(){
        return $this->getAdminBusinesses(false)->where('finished','=', false)->get();
    }
    public function getAuthIdentifier(){
        return $this->getKey();
    }
    public function getAuthPassword(){
        return $this->password;
    }
    public function getReminderEmail(){
        return $this->email;
    }
    public function getRememberToken(){
        return $this->remember_token;
    }
    public function setRememberToken($value){
        $this->remember_token = $value;
    }
    public function getRememberTokenName(){
        return 'remember_token';
    }
    public function displayName(){
        if(!empty($this->prefix))
            return $this->first_name.' '.$this->prefix.' '.$this->last_name;
        else
            return $this->first_name.' '.$this->last_name;
    }
    public function getType(){
        if($this->business_id){
            return 'consumer';
        }else{
            return 'client';
        }
    }
    public function isType($type){
        return $this->getType() == $type;
    }
    public function setEmailAttribute($value){
        $this->attributes['email'] = strtolower($value);
    }
} 

检查模型中的侦听器/观察者(即,
Users::saving(…)
)。这通常在
boot
方法中声明。或者,为了增加偷偷摸摸的效果,就像你的情况一样,检查特征,然后看看特征本身是否在添加侦听器。

可能是你的用户模型中的事件侦听器?(发布?)或者可能是一个试图太聪明或配置不正确的包?(从
app/config/app.php
?)给我们一个非默认服务提供商的列表)指针的Thx!没想过要穿我的模特,笨蛋。我猜是因为输入的$autoHydrateEntityFromInput。如果你把你的意见作为一个评论员发表,我可以给你打分。
Illuminate \ Database \ QueryException (42S22) 
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'code' in 'field list' 
(SQL: insert into `users` (`email`, `password`, `verified`, `code`, `state`,
`updated_at`,  `created_at`) values (rrr+fb@gmail.com, 
$FNbwC4DDHb36gekSN5GstOkVxg7tynrn2Dm/AcsQo2V3DRuboj/P6, true, 
AQCEHr04ZAPiY4CiZ1O8H6_-fofXqQkL48uvK-VO5Hm5tENQwGdm6inB3q5OZu-kniLuegDo-CMgwWvP7n3cfzNODfX_TqrIf6nfgFMdbl6HI4JGxs_nsOwKlW0cZAlfNFXFrnCTZpDOwm5bsHILN0mRiVNUZ5DrETnhXRQUa8icWL19RDpQ8RHzWlC-dNS4Puc3SRglsXYOx6PlegioAf31WGJ_C-kTQMKT9drFyQ8ewhhkDtycuFFWIk-bH0lXQr0wIL-iU2HKK8jy6XNQ7Lw9oWD0BBdkLsGqDiqsQmaVNyBXprFqn_buz2KyoNPMWw2lyAF9TJJ_YSbODVtMN5fV, 33faff5edfdad403d8650ba7a057e055, 2014-08-19 21:17:52, 2014-08-19 21:17:52))