我试图显示类别的名称,但出现此错误:BadMethodCallExceptionCall to undefined method Illuminate\Database\Query\Builder::with()AdminController.phppublic function gamelist(){ $categories = Category::all(); $home = DB::table('products')->with(['categories']); return view('admin.gamelist', ['categories' => $categories, 'home' => $home, 'mode' => 'admin']);}产品.phpclass Product extends Model{ public function categories() { return $this->belongsTo('App\Category', 'category_id'); }}游戏列表.blade.php@foreach ($homes as $home) <tr> <td>{{ $home->id }}</td> <td>{{ $home->name }}</td> <td>{{ $home->categories->name}}</td> <td>{{ $home->price }} €</td>有人能帮我吗?谢谢
1 回答
慕后森
TA贡献1802条经验 获得超5个赞
with
用于急切加载 Eloquent 关系。通过调用DB::table
,您决定改用查询构建器,而这个不能使用 Eloquent 关系。
你应该更换
$home = DB::table('products')->with(['categories']);
经过
$home = Product::with('categories')->get();
- 1 回答
- 0 关注
- 80 浏览
添加回答
举报
0/150
提交
取消