Данные уведомлений базы данных Laravel 11 не кодируются должным образомPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Данные уведомлений базы данных Laravel 11 не кодируются должным образом

Сообщение Anonymous »

Я пытаюсь сохранить уведомления в таблице базы данных уведомлений.

Код: Выделить всё

$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,
]);
}
Я создал свою таблицу с помощью php artisan make:notifications-table

Код: Выделить всё

/**
* 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();
});
}
Я также включаю Notible в свою модель пользователя.


Подробнее здесь: https://stackoverflow.com/questions/788 ... g-properly
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»