【问题标题】:How to fetch data only for a particular user from a database with data multiple users in laravel如何从具有多个用户数据的数据库中仅获取特定用户的数据 laravel
【发布时间】:2019-04-20 13:37:29
【问题描述】:

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

如果有一个用户的数据一切正常,但如果另一个用户将数据添加到表中,我会收到错误无法使用 stdClass 类型的对象作为数组

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

    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;

我已经通过删除其他用户的数据对其进行了测试,一切正常,但是如果我将其他用户的数据返回到表中,我会收到该错误

【问题讨论】:

    标签: laravel-5.7


    【解决方案1】:

    我建议删除此行

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

    并简单地使用

        $products = $allProducts;
    

    因为您使用 json_decode 所做的事情是造成问题的原因

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 2019-09-08
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多