如何从 laravel 中有多个用户数据的数据库中仅获取特定用户的数据

How to fetch data only for a particular user from a database with data multiple users in laravel

我正在尝试根据 laravel 中的登录用户显示数据库中的数据。

如果一个用户有数据,一切正常,但如果另一个用户向 table 添加数据,我会收到错误消息 Cannot use object of type stdClass as array

这是我在控制器中获取数据的方式

    public function viewBookings() {

$allProducts = Booking::get()->where('client', Auth::user()->name);
$products = json_decode(json_encode($allProducts));
foreach ($products as $key => $val) {
    $service_name = Service::where(['id' => $val->service])->first();
    $service_fee = Charge::where(['id' => $val->charge])->first();
    $service_status = Status::where(['id' => $val->status])->first();
    $products[$key]->service_name = $service_name->name;
    $products[$key]->service_fee = $service_fee->total;
    $products[$key]->service_status = $service_status->name;
}
return view('client.booking.view_bookings')->with(compact('products'));
}

此行显示错误

    $products[$key]->service_name = $service_name->name;

我已经通过删除其他用户的数据对其进行了测试并且一切正常但是如果我 return 其他用户的数据到 table 我得到那个错误

我建议删除这一行

    $products = json_decode(json_encode($allProducts));

并简单地使用

    $products = $allProducts;

因为您对 json_decode 所做的是造成问题的原因