调用未定义的方法query \ builder :: with()

The following code worked fine but now i need to select only particular set of records from the table based on the authenticated user. How can i achieve this? thank you.

Worked code

        $spares = \App\Spares::with('brand','model')->paginate(5);

New code that i need to get(need to select only the spares that are related to a particular retailer )

        $spares = DB::table('spares')->where('retailer_id', '=', $retailer_id)->with('brand','model')->paginate(5);

When i run the code it gets me the error as follows

enter image description here

You cannot use with() with the Class DB - QueryBuilder, if you want to make it work then convert it into Models which should extends Eloquent class, this is how you can do this:

Spare::with('brand', 'model')
      ->where('retailer_id', $retailer_id)
      ->paginate(5);

Hope this helps!