Laravel: 检索用户输入的数据

Laravel: Retrieve data inputted by user

我是 Laravel 的新手,我对如何检索某些用户输入的数据感到困惑。

在我的项目中,有一个用户配置文件应该显示用户提交的所有表单。

这是我的控制器函数:

public function clientAccount(BookingRequest $bookings)
{
    $client = Client::whereUserId(Auth::id())->with('user')->first();
    $bookings = BookingRequest::with(Auth::id())->with('client')->first(); //unsure about here//
    return view('client.account', compact('client','bookings'));
}

这是我的模型:

    public function client()
{
    return $this->belongsTo('App\Client', 'client_id', 'user_id');
}

我该如何解决这个问题?

编辑:

我试过使用它,但不知何故我没有得到任何显示

$bookings = BookingRequest::where('client_id',Auth::id());

如果关系需要是一对多的,这意味着一个客户有很多预订,那么在您的客户模型中您应该具有以下功能:

public function bookings() 
{
    return $this->hasMany(BookingRequest::class);
}

那你只需要找到客户,对他你就用

$client->bookings()

它将列出该客户的所有预订。

来自纳科夫的后续:

public function clientAccount()
{
  $client = Client::whereUserId(Auth::id())->with('user')->first();
  $bookings = $client->bookings();

  return view ('client.account')->with('bookings', $bookings)
}

并且在您的用户个人资料视图中:

foreach($bookings as $booking){
  // do something with each booking
  // e.g. var_dump($booking) to see the data you're working with
}

感谢您的所有回复!

我现在可以使用此方法检索数据:

public function clientAccount()
{
    $client = Client::whereUserId(Auth::id())->with('user')->first();
    $bookings = $client->booking()->with('client')->get(); 
    return view('client.account', compact('client','bookings'));
}

在我的模型中,我使用了这个

public function booking()
{
    return $this->hasMany('App\BookingRequest', 'client_id', 'user_id');
}