Я попробовал код, которым вы поделились, и выяснил возможную причину вашей проблемы -
Вы получаете эту ошибку здесь на return decrypt($this->attributes[$key])
в вашем EncryptsAttributes.php признаке.
public function getAttributeValue($key) {
if(in_array($key, $this->getEncrypts())) {
return decrypt($this->attributes[$key]);
}
return parent::getAttributeValue($key);
}
decrypt()
не может работать с незашифрованной строкой .Сейчас у вас есть некоторые данные в столбце task
, которые не зашифрованы, и эта функция decrypt()
пытается расшифровать незашифрованные данные.
Решением этой проблемы является либо дешифрование всех существующих данных вtask
или вы можете обработать это следующим образом:
public function getAttributeValue($key)
{
if(in_array($key, $this->getEncrypts())) {
try {
return decrypt($this->attributes[$key]);
} catch (\Exception $e) {
return $this->attributes[$key];
}
}
return parent::getAttributeValue($key);
}
Это взято из вашей черты EncryptsAttributes.php .Я добавил блок try / catch для решения этой проблемы.Если у вас есть данные, которые не зашифрованы, то они просто предоставят вам данные, не пытаясь расшифровать их.