laravel - 在 Laravel 5.6 中创建或更新给出“可填充”异常消息
问题描述
我有以下代码: -
$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].
解决方案
为了能够updateOrCreate
像您一样使用该方法,您必须添加user_id
到类中的fillable
属性,AppToken
如下所示。
class AppToken extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'user_id', 'token'
];
}
有关此主题的更多信息,请点击此处。
推荐阅读
- r - 使列在 R 中具有唯一名称
- javascript - 组合通用函数参数类型
- ubuntu - 在 apk 中使用模块
- node.js - Mongoose 从 .find() 响应中修改单个字段
- open-policy-agent - 如何通过 opa 策略获取图像摘要(sha)
- xamarin - 在 Xamarin.iOS 上重新部署后,框架从应用程序包中删除
- oracle-apex - 从表 APEX 管理 ITEM 配置
- java - 优雅的标签分割方式
- tinybutstrong - TinyButStrong 块不适用于 li 标签
- github - SSH 密钥 - 如何向 github 添加新密钥?