Laravel: извлечение данных, введенных пользователем - PullRequest
0 голосов
/ 12 октября 2018

Я довольно новичок в 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());

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

Далее по nakov:

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
}
0 голосов
/ 16 октября 2018

Спасибо за все ваши ответы!

Теперь я могу получить данные, используя это:

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');
}
0 голосов
/ 12 октября 2018

Если отношение должно быть один ко многим, что означает, что у одного Клиента много бронирований, то в вашей модели Клиента у вас должна быть следующая функция:

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

, тогда вам просто нужно найти клиента, идля него вы просто используете

$client->bookings()

, он перечислит все заказы для этого клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...