我有社交网站登录facebook和谷歌。 我试图在DB中存储值。 有的存储,有的没有。 我想我什么都试过了,但是找不到问题和解决办法。
我有功能:
public function CreateUser($user, $provider)
{
$authUser = User::where('social_id', $user->id)->first();
if($authUser)
{
return $authUser;
}
$token = $this->generateRandomString();
return User::create([
'name' => $user->name,
'email' => $user->email,
'social' => $provider,
'social_id' => $user->id,
'username' => $this->user_slug($user->name),
'user_token' => $token,
'earnings' => 0,
'user_type' => 'vendor',
'verified' => 1,
]);
}
除social和social_id以外的所有值都存储在数据库中。 我试图在不同的领域存储不同的值。
例如,如果我将$provider值存储在'name'字段中,它就会工作。 如果我试图在'social'字段中存储$provider值或任何其他值。 数据库不存储它。 “social_id”字段相同。
数据库照片
您应该定义哪些模型属性是您想要使批量可赋值的。 您可以使用模型上的$fillable属性来完成此操作。 例如,让我们使用户模型质量的name属性可赋值:
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['social', 'social_id'];
}