как удалить из таблицы уведомления по данным в столбце «ticket_id» в laravel - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть уведомление о создании базы данных в моем приложении laravel, но как удалить из него строку.

таблица: уведомления

id |тип |notifiable_id |notifiable_type |данные |read_at |создал_ат |updated_at

id = 6f4ec6c2-ac98-4c35-99fe-2eb0559b2aed
type = App\Notifications\NewTicket

notifiable_id= 3 

notifiable_type= App\User

data = {"user_name":"admin","ticket_title":"How to ...","ticket_id":7}

read_at = NULL

created_at = 2019-04-20 

updated_at = 2019-04-20

Я пытаюсь

DB::table('notifications')

   ->where('data->ticket_id',$id)->get()->first()->delete();

Не удалять,

Затем попробуйте

 DB::table('notifications')    
 ->whereRaw("JSON_EXTRACT(`data`, '$.ticket_id') = ?", $id)->get()->first()->delete();

Не удалять,

Как удалить вышеуказанную строку с помощью ticket_id

любая помощь будет оценена.

Ответы [ 3 ]

1 голос
/ 22 апреля 2019

Используйте это

->whereJsonContains('data', ['ticket_id' => $id])->first()->delete();
0 голосов
/ 22 апреля 2019

Попробуйте это для удаления по полю json:

    DB::table('notifications')
      ->where('data->ticket_id', $id)->delete();
0 голосов
/ 22 апреля 2019

Вы можете удалить строку следующим образом

DB::table('notifications')->where('id', $id)->delete();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...