我对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());
答案 0 :(得分:2)
如果该关系需要一对多,则意味着一个客户有很多预订,那么在您的客户模型中,您应该具有以下功能:
ROLES
那您只需要找到客户,而您只需使用
lamer
它将列出该客户的所有预订。
答案 1 :(得分:0)
接着是nakov:
let item = FormTextField(nibName: "FormTextField", bundle: nil)
在您的用户个人资料视图中:
public function clientAccount()
{
$client = Client::whereUserId(Auth::id())->with('user')->first();
$bookings = $client->bookings();
return view ('client.account')->with('bookings', $bookings)
}
答案 2 :(得分:0)
感谢您的所有答复!
我现在可以使用以下方法检索数据:
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');
}