Как получить идентификатор из задачи, в которой я нажимаю - PullRequest
0 голосов
/ 18 апреля 2019

Итак, у меня есть «задачи», и каждая задача может иметь несколько заметок.Я отображаю задачи следующим образом:

<table class="table table-bordered table-hover">
    <thead>
        <tr>
            <th>Task Id</th>
            <th>Project</th>
            <th>Task title</th>
            <th>Description</th>
            <th>Status</th>
            <th>Priority</th>
            <th>Created by</th>
            <th>Created on</th>
            @if (Auth::user()->role=='admin')
            <th>Admin</th>
            @endif
        </tr>

    </thead>
    <tbody class="">
        @foreach ($task as $task)
        <tr>
            <td>{{$task->task_id}}</td>
            <td>{{$task->project->proj_title}}</td>
            <td>{{$task->task_title}}</td>
            <td>{{$task->task_desc}}</td>
            <td>{{$task->status}}</td>
            <td>{{$task->priority}}</td>
            <td>{{$task->user->name}}</td>
            <td>{{$task->created_at}}</td>

            <td>
                <div class="dropdown">
                    <button class="btn btn-danger dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action</button>   
                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                    <a class="dropdown-item" href="{{route('tasks.notes',$task)}}">Notes</a>

Каждая задача представляет собой строку, и, как вы можете видеть в конце, есть кнопка, которая переводит пользователя в представление заметок.Мне нужно получить task_id из задачи, по которой вы щелкнули, чтобы я мог назначить этот task_id заметке, таким образом, каждая задача имеет свои заметки.Это мои отношения между «Заданием» и «Заметкой»;Модель задачи:

public function notes(){

        return $this->hasMany('App\Note','task_id');
    }

Модель заметки:

public function task(){

        return $this->belongsTo('App\Task','task_id');
    }

И здесь я отображаю заметки:

<table class="table table-bordered">
        <thead>
            <tr>
                <th>#</th>
                <th>Note</th>
            </tr>
        </thead>    
        <tbody>
            @foreach($notes->where('task_id',$task->task_id) as $note)
            <tr>
                <td>Created by {{$note->user}}<td>
                <td>{{$note->note}}</td>
            </tr>
            @endforeach

        </tbody>

    </table>

Функция индекса My NoteController:

public function index(Task $task)
    {


        $task_id = $task['task_id'];

        return view('notes.index', [
            'notes' => Note::all(),
            'user' => User::all(),
            'task' => $task_id, 

        ]);


    }

Заранее спасибо

1 Ответ

1 голос
/ 18 апреля 2019

Отправьте id вместо всего объекта в клинке, как:

<a class="dropdown-item" href="{{route('tasks.notes', $task->id)}}">Notes</a>

Затем в действии index получите его и получите примечания к соответствующей задаче, такие как:

public function index($task_id)
{
    $task = Task::find($task_id);

    return view('notes.index', [
        'notes' => Note::all(),
        'user' => $task->notes,
        'task' => $task,
    ]);
}

В лезвии заметок вы просто просматриваете их:

@foreach($notes as $note)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...