Q:

laravel get Illegal string offset error on getting jsonObject value

in this result of 
{#457 ▼
  +"id": 14
  +"amount": "110092"
  +"discount": 0
  +"images": "{"images":{"original":"\/uploads\/post_images\/2017\/1513070310.jpeg","300":"\/uploads\/post_images\/2017\/300_1513070310.jpeg","600":"\/uploads\/post_images\/2017\/600_1513070310.jpeg","900":"\/uploads\/post_images\/2017\/900_1513070310.jpeg"},"thumbnail":"\/uploads\/post_images\/2017\/300_1513070310.jpeg"} ◀"
  +"created_at": "2017-12-28 17:48:48"
  +"updated_at": "2017-12-28 19:24:18"
}

query, i'm trying to get thumbnail from images column which images is JsonObject, but i get this error:
"Illegal string offset 'thumbnail'"

my code:
$userShoppings = \DB::table('payments as s')
    ->join('products as p', 's.product_id', '=', 'p.id')
    ->select('p.*', 's.*',\DB::raw('s.ordering_count * s.price as cost'))
    ->whereUserId(auth()->user()->id)
    ->first();

dd($userShoppings->images['thumbnail']);

or
dd($userShoppings->images['images']['thumbnail']);

error:
"Illegal string offset 'images'"

my models:
class Shopping extends Model
{
    protected $fillable = [];

    protected $casts=[
        'images'=>'array'
    ];
}

class Payment extends Model
{
    protected $fillable = [];

    protected $casts=[
        'images'=>'array'
    ];
}

A:

You need to convert $userShoppings->images to a json or to an array to be able to use it

