В столбце новых значений для auditable_id=2239
, new_values
равно {"video_status_ids":"[4,10]"}
Я получаю правильные данные для
В тинкере
App\Video::find(2239)->audits()->get()
Коллекция содержит
OwenIt\Auditing\Models\Audit {#3140
id: 322113,
user_type: "App\User",
user_id: 3,
event: "updated",
auditable_type: "App\Video",
auditable_id: 2239,
old_values: "{"video_status_ids":"[4, 8]"}",
new_values: "{"video_status_ids":"[4,10]"}",
url: "http://example.com?",
ip_address: "ipaddr",
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.
36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36",
tags: null,
created_at: "2019-03-04 13:30:57",
updated_at: "2019-03-04 13:30:57",
},
но для
1. App\Video::find(2239)->audits()->whereJsonContains('new_values->video_status_ids', 10)->get()
и
2. App\Video::find(2239)->audits()->where('new_values->video_status_id', 10)->get()
и
3. App\Video::find(2239)->audits()->where('new_values->video_status_ids', "[10]")->get()
Я получаю
=> Illuminate\Database\Eloquent\Collection {#138
all: [],
}
, но я должен получить вышеуказанные записи.
Обойти
App\Video::find(2239)->audits()->where('new_values', 'like','\{"video_status_ids"%10%')->get()
и
App\Video::find(2239)->audits()->where('new_values->video_status_ids', 'like',"%10%")->get();
, но если есть что-то вроде 101, 100 и т. д., это не будет работать.только по моему требованию все будет хорошо.