2017-04-17 14 views
1

私は基本的な予定システムを作成しようとしています。ユーザーがログインすると、ifステートメントには個人的な予定が表示されますが、現在はすべての予定が表示されます。foreachループ内のif文

if文の目的は、このユーザーIDを使用するすべての予定があるかどうかを確認し、

マイappointments表はuser_idを持っている、と私usersテーブルがちょうどAはこれらの予定を表示するには、自分のユーザーIDを確認することです通常id

@section('content') 
    <h1>Your Appointments</h1> 
    @foreach ($appointments as $appointment) 
     @if ($appointment->user->id == $appointment->user_id) 
      <p> 
       <a href="{{url('details/'.$appointment->id)}}" >{{$appointment->doctor->name}} : {{$appointment->time}} : {{$appointment->date}}</a>   
      </p> 
     @endif 
    @endforeach 
@endsection 

答えて

1

あなたが同じappointment->user_iduser->id関連appointmentを比較しているので、それは常に皆の予定を表示します。

私はあなたがあなたのif文を変更し、以下のようなユーザー・セッションIDでログインして、それを比較する必要があると考えている:

$logged_user_id = Auth::user()->id; 

@if ($logged_user_id == $appointment->user_id) 
+0

素晴らしい作品です。ありがとうございます! – TF120

2

の代わりに、このネストされたを使用して、我々は予定を選択することで、ビューのロジックを減らすことができますif文我々はそう代わりに渡すすべての予定のあなたのコントローラで認証されたユーザに関連する操作を行います:

$appointments = Appointment::where('user_id', Auth::user()->id); 

ので、あなたのビューであなたが必要とすることなく、それらを介してループにのみforeach($appointments as $appointment)を使用することができます予定が現在のユーザーに関連しているかどうかを確認します。