Как я могу добавить user_id в конец URL в laravel? - PullRequest
0 голосов
/ 16 октября 2019

Я создаю таблицу отчетов для каждого пользователя в моей базе данных, которая регистрирует даты / время. Вот мой контроллер:

public function create()
{
    $user = auth()->user();

    return view('report.create', compact('user'));
}

public function show($id) 
{
    $data = Time::findOrFail($id);

    return view('report.show', compact('data'));  
}

Так что сейчас, если я перейду к /reports/1, он даст мне доступ только к временным данным с идентификатором один. Тем не менее, я хочу, чтобы, если я перейду к reports/1, у меня будет доступ ко всем данным о времени для пользователя с идентификатором пользователя равным 1.

Я попытался сделать следующее, но это не удалосьработать и дал мне 404 на каждую страницу #данные из:

Schema::create('times', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->unsignedBigInteger('user_id');
    $table->date('start_day');
    $table->text('category');
    $table->time('start_time');
    $table->time('finish_time');
    $table->time('duration');
    $table->text('notes');
    $table->timestamps();

    $table->foreign('user_id')->references('id')->on('users');
});

Ответы [ 3 ]

2 голосов
/ 16 октября 2019

Привет, вам нужно только изменить контроллер шоу, как это

public function show($id) 
{
    $data = Time::where('user_id',$id)->get();

    return view('report.show', compact('data'));  
}
0 голосов
/ 16 октября 2019

Изменить

$data= Time::findOrFail($time->user_id);

на

$data= Time::where('user_id','=',$time->user_id)->get();
0 голосов
/ 16 октября 2019

Вам необходимо определить параметр маршрута. Выглядит так, как будто у вас есть проблемы с автоматической проводкой.

Route::resource('reports/{id}', 'ReportController');
...