#php #html #laravel #forms
#php #HTML #laravel #формы
Вопрос:
Я хочу показать список жалоб зарегистрированного пользователя, как бы я написал, если еще в блейде.
@foreach($data as $row)
<tr>
<td>{{ $row->type }}</td>
<td>{{ $row->station }}</td>
<td>{{ $row->description }}</td>
<td>{{ $row->comment }} </td>
<td>{{ $row->status }}</td>
<td class="text-center">
<a href="{{ route('view-complaint', $row->id) }}" class="btn btn-primary btn-sm"><i class="fa fa-eye mr-1" aria-hidden="true"></i>Show</a>
<a href="{{ route('edit-complaint', $row->id) }}" class="btn btn-warning btn-sm"><i class="fa fa-pencil mr-1" aria-hidden="true"></i>Edit</a>
<form action="{{ route('delete-complaint', $row->id) }}" method="post" class="d-inline-block">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm"><i class="fa fa-trash mr-1" aria-hidden="true"></i>Delete</button>
</form>
</td>
</tr>
@endforeach
и это моя индексная функция, она также работает для администратора, чтобы показывать все жалобы всех пользователей. Но я хочу жалобы для конкретного пользователя, который вошел в систему. Я имею в виду, что пользователь может видеть все его жалобы
public function index()
{
$data = Complaint::latest()->paginate(5);
return view('pages.allComplaints', compact('data'))->with('i', (request()->input('page', 1) - 1) * 5);
}
Как бы я справился с этим!
Ответ №1:
Измените метод Index следующим образом:
public function index()
{
if(auth()->user()){
$data = Complaint::latest()->where('user_id',auth()->user()->id)->paginate(5);
}else{
$data = Complaint::latest()->paginate(5);
}
return view('pages.allComplaints', compact('data'))->with('i', (request()->input('page', 1) - 1) * 5);
}
Комментарии:
1. Я просто делаю, если это в if: if(auth()->user()-> role== ‘USER’) и работает отлично
Ответ №2:
Вы можете попробовать if-else
в блейде, как указано ниже:
@if($user->logged_in)
//show records
@else
//not logged in
@endif