Bläddra i källkod

работающий код

ilg2005 3 månader sedan
förälder
incheckning
4b705fd146
1 ändrade filer med 10 tillägg och 1 borttagningar
  1. 10 1
      app/Models/Char/CharMail.php

+ 10 - 1
app/Models/Char/CharMail.php

@@ -3,6 +3,7 @@
 namespace App\Models\Char;
 
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Support\Facades\DB;
 
 class CharMail extends Model
 {
@@ -59,7 +60,15 @@ class CharMail extends Model
 
     public function setBinLetterAttribute($value)
     {
-        $this->attributes['binLetter'] = $this->encodeBinaryValue($value);
+        // В Table_CharMail колонка binLetter хранится как VARBINARY,
+        // поэтому передаём в UPDATE двоичные данные через HEX-литерал (0x...)
+        // чтобы избежать имплицитного преобразования NVARCHAR -> VARBINARY.
+        $encoded = $this->encodeBinaryValue($value); // ожидается двойной base64-ASCII
+
+        // Сохраняем ASCII base64 как набор байт (varbinary) — это позволит
+        // корректно прочитать значение и декодировать его в accessor'е.
+        $hex = '0x' . bin2hex($encoded);
+        $this->attributes['binLetter'] = DB::raw($hex);
     }
 
     public function getBinTitleAttribute($value)