流明中的MYSQL状态错误-使用社交名流登录Facebook

问题描述

重定向到Facebook登录页面后,出现以下错误

sqlSTATE[42S22]: Column not found: 1054 UnkNown column 'email' in 'where clause' (sql: select * from `users` where `email` = *************.com limit 1)

我已经使用PHP artisan make:migrate命令为users表创建了迁移:

<?PHP

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class createusersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users',function (Blueprint $table) {
            $table->id();
            $table->timestamps();
            $table->email();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

我的SocialFacebookAccountService.PHP

<?PHP
namespace App\Services;
use App\SocialFacebookAccount;
use App\User;
use Laravel\Socialite\Contracts\User as ProviderUser;
class SocialFacebookAccountService
{
    public function createOrGetUser(ProviderUser $providerUser)
    {
        $account = SocialFacebookAccount::whereProvider('facebook')
            ->whereProviderUserId($providerUser->getId())
            ->first();
        if ($account) {
            return $account->user;
        } else {
            $account = new SocialFacebookAccount([
                'provider_user_id' => $providerUser->getId(),'provider' => 'facebook'
            ]);
            $user = User::whereEmail($providerUser->getEmail())->first();
            if (!$user) {
                $user = User::create([
                    'email' => $providerUser->getEmail(),'name' => $providerUser->getName(),'password' => md5(rand(1,10000)),]);
            }
            $account->user()->associate($user);
            $account->save();
            return $user;
        }
    }
}

请让我知道您是否还想查看其他文件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)