Код: Выделить всё
$n = new testNotification($company);
$user->notify($n);
Преобразование массива в строку
INSERT INTO
Код: Выделить всё
notifications (
id,
type,
data,
read_at,
notifiable_id,
notifiable_type,
updated_at,
created_at
ЗНАЧЕНИЯ
(
6242fed0 - db16 -4864 - bd68 - 853bc2ada748,
App \ Notifications \ testNotification,
?,?,
1,
App\Models\USER,
2024 -07 -24 12:00:13,
2024 -07 -24 12:00:13
)
Уведомления Slack работают нормально, но база данных продолжает выдавать ошибки.
Как я решил это было сделано путем добавления кодировки json вокруг функции toArray(), но мне это кажется неправильным, поскольку обычно laravel должен выполнять эту кодировку сам по себе, я не понимаю, почему атрибут данных не кодируется должным образом.
Код: Выделить всё
public function toArray(object $notifiable)
{
return [
'message' => $this->data->name,
];
}
// Updated version
public function toArray(object $notifiable): string
{
return json_encode([
'message' => $this->data->name,
]);
}
Код: Выделить всё
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('notifications', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->string('type');
$table->morphs('notifiable');
$table->text('data'); // Ensure this is TEXT or LONGTEXT
$table->timestamp('read_at')->nullable();
$table->timestamps();
});
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... g-properly