Как исправить запрос в режиме редактирования? - PullRequest
0 голосов
/ 22 мая 2019

Я настраиваю новый проект для выполнения многоязычной формы, но я застрял в форме редактирования. Я не знаю, как с этим справиться

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

<div class="card-body text-center">
  {!! Form::open(['route' => 'content.store', 'method' => 'Post']) !!}

  <div class="card">
    <div class="card-body">
      <div class="form-group">
        <label class="mx-4" for="my-input">{{ __('content/form.country_t') }}:</label>
        <input id="my-input " type="text" name="country" placeholder="{{ __('content/form.country') }}">
        <label class="mx-4" for="my-input">{{ __('content/form.city_t') }}:</label>
        <input id="my-input" type="text" name="city" placeholder="{{ __('content/form.city') }}">

      </div>
    </div>
  </div>

  <div class="container">
    <div class="row">
      <div class="card col-xs-12 p-0">
        <nav>
          <div class="nav nav-pills nav-fill card-header" id="nav-tab" role="tablist">
            @foreach (config('translatable.locales') as $la=>$desc)

            <a class="nav-item nav-link" id="nav-home-tab" data-toggle="tab" href="#{{ $la }}" role="tab" aria-controls="nav-home" aria-selected="true">{{ $desc }}</a> @endforeach

          </div>
          <div class="tab-content py-3 px-3 px-sm-0 card-body" id="nav-tabContent">

            @foreach (config('translatable.locales') as $la=>$desc)
            <div class="tab-pane fade px-4" id="{{ $la }}" role="tabpanel" aria-labelledby="nav-home-tab">
              <div class="form-group">
                <label for="my-input" class="">{{ __('content/form.title') }}</label>
                <input id="my-input" class="form-control" type="text" name="translations[{{ $la }}][title]">

              </div>

              <div class="form-group">
                <label for="my-input" class="">{{ __('content/form.body') }}</label>
                <input id="my-input" class="form-control" type="text" name="translations[{{ $la }}][body]">
              </div>

            </div>
            @endforeach

          </div>

        </nav>

      </div>

      <button type="submit" class="row col-12 mt-2 mx-auto btn btn-primary">{{ __('content/form.submit') }}</button>
    </div>
  </div>
</div>
</div>

{!! Form::close() !!}
</div>

и это мой контроллер:

public function store(Request $request)
{
    $contents = new Content;
    // $contents->fill($request->all());
    $this->fillRequest($request,$contents);
    $contents->User()->associate(\Auth::user());

    $contents->saveOrFail();

    return redirect()->route('content.index')->with('success','با موفقیت ساخته شد');
}


private function fillRequest(Request $request, Content $model)
{
    //fill model on fillable variables
    $model->fill($request->only($model->getFillable()));
    $model->saveOrFail();

    foreach ($request->translations as $la => $desc) {
        //if title field is null ignore the translations
        // in case of there is a translation... delete it
        if (!$desc["title"]) {
            if ($model->hasTranslation($la)) {
                $model->deleteTranslations($la);
            }
            continue;
        }
        //create new translation if not exists
        $model->translateOrNew($la)->fill($desc);

        $model->saveOrFail();
    }

    return $model;
}

Мне нужно знать, как я могу создать правкусмотреть точно так же, как мой создать выше

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