php - 此集合实例上不存在属性 [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'));
}
非常感谢。
解决方案
使用->get()
on aQueryBuilder
返回一个Collection
(PHP 数组的精美包装器),因此$Buylist
是orders
表中的一组记录,而不是单个记录。
如果您更改逻辑以使用->first()
:
$Buylist=DB::table('orders')->where('id','=',Auth::user()->id)->orderBy('oId','desc')->first();
然后您可以$BuyList->bId
毫无问题地访问(除非$BuyList
返回null
,但这是一个不同的问题)。
推荐阅读
- r - R:无法安装 AzureML 包(R 版本 3.3.3)
- html - 为什么我的滑块在第一轮闪烁?
- php - osticket 到期日
- mysql - 使用mysql重叠间隔
- c++ - C++ 类型的非常量引用的无效初始化
- go - 如何在 go-revel 响应头中设置“Transfer-Encoding”?
- sql-server - 使用 goroutine 丢失数据
- c++ - 初始化空的二维向量?
- xamarin - 使用 Infragistics ScatterLineSeries 的 Xamarin 内存泄漏
- python - 如何从html中获取数据并将其作为对象,字典,在python中安全