douxiapi4381 2016-11-19 16:05
浏览 25
已采纳

调用未定义的方法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

  • 写回答

1条回答 默认 最新

  • douou6807 2016-11-19 17:46
    关注

    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!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?