In my users table "profile_setting" field is entered as json string.
[{"type":"Blood Donate","completion":"10","status":"1"},{"type":"Food Donate","completion":"15","status":"1"},{"type":"Clothes Donate","completion":"0","status":"1"},{"type":"Toy Donate","completion":"0","status":"0"},{"type":"Food Donate","completion":"0","status":"1"},{"type":"Organ Donate","completion":"0","status":"0"}]
I need to get users who have type "Blood Donation" with status 1.
$userSetting = DB::table('users')
->select('profile_setting', 'id')
->whereIn('id', explode(',',$UidList)) //array of user id
->where('profile_setting', '!=', null)
->get();
output is
Illuminate\Support\Collection Object ( [items:protected] => Array ( [0] => stdClass Object ( [profile_setting] => [{"type":"Blood Donate","completion":"10","status":"1"},{"type":"Food Donate","completion":"15","status":"1"},{"type":"Clothes Donate","completion":"0","status":"1"},{"type":"Toy Donate","completion":"0","status":"0"},{"type":"Food Donate","completion":"0","status":"1"},{"type":"Organ Donate","completion":"0","status":"0"}] [id] => 3901ee9e-01bb-483a-9f74-8f7b76290cd5 ) [1] => stdClass Object ( [profile_setting] => [{"type":"Blood Donate","completion":"10","status":"0"},{"type":"Food Donate","completion":"15","status":"1"},{"type":"Clothes Donate","completion":"0","status":"1"},{"type":"Toy Donate","completion":"0","status":"0"},{"type":"Food Donate","completion":"0","status":"1"},{"type":"Organ Donate","completion":"0","status":"0"}] [id] => f2772366-4e7f-4257-90bd-8ea506dd8f84 ) [2] => stdClass Object ( [profile_setting] => [{"type":"Blood Donate","completion":"10","status":"1"},{"type":"Food Donate","completion":"15","status":"1"},{"type":"Clothes Donate","completion":"0","status":"1"},{"type":"Toy Donate","completion":"0","status":"0"},{"type":"Food Donate","completion":"0","status":"1"},{"type":"Organ Donate","completion":"0","status":"0"}] [id] => f8b20d31-ac80-4a98-b561-d255c79236fd ) [3] => stdClass Object ( [profile_setting] => [{"type":"Blood Donate","completion":"10","status":"1"},{"type":"Food Donate","completion":"15","status":"1"},{"type":"Clothes Donate","completion":"0","status":"1"},{"type":"Toy Donate","completion":"0","status":"0"},{"type":"Food Donate","completion":"0","status":"1"},{"type":"Organ Donate","completion":"0","status":"0"}] [id] => 15a31589-bba6-4e22-a5c2-1dcd13f43cfe ) ) [escapeWhenCastingToString:protected] => )
after that I have done for loop to store to single array
for($i=0;$i<count($userSetting);$i++){
$settingsVal[] = json_decode($userSetting[$i]->profile_setting, true);
$settingsVal[$i]['id'] = $userSetting[$i]->id;
}