Какой самый простой способ перенести данные из одной таблицы / модели в другую для новичка? - PullRequest
0 голосов
/ 18 января 2019

Заранее извиняюсь за огромную стену текста, но я не смог придумать способ изложить свой вопрос в более короткой форме из-за его специфического контекста.

Пожалуйста, прокрутите вниз через пунктирную линию ниже, если вы хотите пропустить мое вступление в контекст:

В качестве моего первого приложения Laravel я решаю задачу по написанию кода, в которой мне необходимо настроить отслеживание посещаемости / отслеживание времени (отображение количества времени, которое отдельные сотрудники проводят на работе каждый день (между проверкой и проверкой). Out).

Я - полный новичок (сейчас прохожу Laravel 5.7 с Scratch On Laracasts), поэтому я ищу подход к решению / коду, который бы соответствовал моим текущим знаниям, а не то, что я еще не учился на Laracasts.

По сути, для меня было бы предпочтительнее указать на решение с синтаксисом и методами, которые были показаны до 20-го эпизода на Laracasts (базовая маршрутизация, использование базового контроллера, использование базового контроллера ресурсов, методы get & post, patch, delete , ОЧЕНЬ ОСНОВНЫЕ красноречивые отношения (знаю только, что принадлежат & имеет много связей).

Обратите внимание, что эти методы просто НЕОБХОДИМО придерживаться, но другие решения более чем приветствуются.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Краткое описание ситуации: у меня есть HTML-таблица, в которой я хочу отобразить статистику посещаемости сотрудников. У меня есть страница «Управление сотрудниками» (представление / сотрудники / управление), где я могу добавить новых сотрудников и сохранить их в таблице «Текущие сотрудники».

Фрагмент из представления / сотрудники / управление:

<div class="table_container">
    <table class="table table-striped">
        . . . . . . . . .. 

        @foreach($employees as $employee)
            <tr>
                <td>{{ $employee->id }}</td>
                <td>{{ $employee->name }}</td>
                <th>{{ $employee->position }}</th>
            </tr>
        @endforeach
    </table>
</div>

код от EmployeesController:

public function manage()
{
    $employees = Employee::all();
    return view('employees.manage', compact('employees'));
}



public function store()
{

    $employee = new Employee();

    $employee->name = request('name');
    $employee->position = request('position');

    $employee->save();

    return redirect('/employees/manage');
}

У меня также есть страница «Управление посещаемостью» (/ Participants / Управление / Просмотр), где я в основном выбираю доступных сотрудников из типа формы. Затем я планирую либо «проверить», либо «проверить» сотрудников с помощью соответствующих кнопок.

<option selected>Select an Employee</option>
@foreach($attendants as $attendant)
    <option value="{{ $attendant->name }}">{{ $attendant->name }}</option>
@endforeach

Как мне включить информацию о доступных сотрудниках в форму выбора? Я думал о том, чтобы сделать красноречивые отношения между Сотрудником и Помощником моделями:

class Attendant extends Model
{
    public function employee()
    {
        return $this->belongsTo(Employee::class);
    }
}

Вот миграция обслуживающего персонала:

{
    Schema::create('attendants', function (Blueprint $table) {
        $table->increments('id');
        $table->unsignedInteger('employee_id');
        $table->foreign('employee_id')->references('id')>on('employees');

        . . . . .
        $table->timestamps();
    });
}

Итак, в основном, мой вопрос, как бы я занялся перечислением доступных сотрудников в форме выбора?

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

1 Ответ

0 голосов
/ 18 января 2019

/ сотрудники / управление списком просмотра: штраф

EmployeesController


public function store(Request $request)
{
    // Use validation 
    Employee::create($request->all());
    return redirect()->route(employees.manage); //Try to use route
}

для формы HTML используйте Laravel Collective это уменьшит ваш код. после добавления коллектива формы laravel

{!! Form::select('attendants', $attendants, $selected_val,['id'=>'id','class'=>'class']) !!}

Однострочный код для поля выбора и параметров

использование проверка

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