如何从Laravel中的“ ticket_id”列中的数据从表通知中删除

时间:2019-04-22 08:59:03

标签: php laravel

我在laravel应用中创建了数据库通知, 但是如何从中删除行。

表格:通知

id |类型notifiable_id | notifiable_type |数据read_at | created_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 个答案:

答案 0 :(得分:1)

使用此

->whereJsonContains('data', ['ticket_id' => $id])->first()->delete();

答案 1 :(得分:0)

您可以删除以下行

DB::table('notifications')->where('id', $id)->delete();

答案 2 :(得分:0)

尝试通过json字段进行删除:

    DB::table('notifications')
      ->where('data->ticket_id', $id)->delete();