首页 > 解决方案 > 此集合实例上不存在属性 [bId]

问题描述

我有一个页面控制器。我想在 /myshopping 请求时获取一些存储在我的数据库中的信息。这是我的控制器代码:

public function myshopping()
    {
        $Buylist=DB::table('orders')->where('id','=',Auth::user()->id)->orderBy('oId','desc')->get();
        $Bookinfo=DB::table('books')->where('bId','=',$Buylist->bId)->first();
        return view('shop.myshopping',compact('Buylist','Bookinfo'));
    }

非常感谢。

标签: phplaravel

解决方案


使用->get()on aQueryBuilder返回一个Collection(PHP 数组的精美包装器),因此$Buylistorders表中的一组记录,而不是单个记录。

如果您更改逻辑以使用->first()

$Buylist=DB::table('orders')->where('id','=',Auth::user()->id)->orderBy('oId','desc')->first();

然后您可以$BuyList->bId毫无问题地访问(除非$BuyList返回null,但这是一个不同的问题)。


推荐阅读