我有以下代码: -
$token = encrypt($guuid);
$tokenDetail = AdminConfig::select('config_value')
->where(array(
'config_key' => 'expiry_duration',
'is_delete' => 0
))->first();
$expiryDuration = $tokenDetail['config_value'];
$expiryTime = date("dmyHis", time() + $expiryDuration);
$created_at = date('Y-m-d H:i:s');
$tokenUpdated = AppToken::updateOrCreate(array(
'user_id' => $user_id,
'token' => $token),
array('expiry'=>$expiryTime,
'created_date'=>$created_at,
'modified_date'=>$created_at)
);
if($tokenUpdated)
{
$return['status'] = 1;
$return['token'] = $token;
}
else
{
$return['status'] = 0;
$return['token'] = $token;
}
return $return;
我正在使用updateOrCreate
方法,因此如果存在记录,则会更新它。否则它将被创建。
我收到一条异常消息,
Add [user_id] to fillable property to allow mass assignment on [App\Http\Model\AppToken].
答案 0 :(得分:2)
为了能够像您一样使用updateOrCreate
方法,您必须将user_id
添加到fillable
类中的AppToken
属性,如下所示。
class AppToken extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'user_id', 'token'
];
}
有关此主题的更多信息,请访问here。
答案 1 :(得分:0)
您只需在模型文件中添加以下代码即可:-
protected $guarded = [];
赞
class AppToken extends Model
{
protected $guarded = [];
public function fun_name()
{
//function code
}
}
希望这会有所帮助:)