Как организовать сохранение значений (morphedByMany)?

Здравствуйте, прошу помощи, запутался!
Идея такая: иметь таблицу с дополнительными полями к форме (которые потом можно добавить к разным формам моделей: News, Blog...)

Вопрос в том, как правильно выводить эти поля и сохранять значения?
В форму мы можем отправить и вывести форычем все поля 'fields' => Field::all(), но как заполнить их значениями, относящимися к определенной записи Blog?
Как правильно сохранить значения?

Некоторый код:
Blog.php
class Blog extends Model
{
...
    public function fields()
    {
        return $this->morphToMany(Field::class, 'fieldable');
    }
}


Field.php
class Field extends Model
{
...
    public function blogs()
    {
        return $this->morphedByMany(Blog::class, 'fieldable');
    }
}


BlogController.php
class BlogController extends Controller
{
...
    public function edit(Blog $blog)
    {
        $blog= Blog ::find($id);
        return view('blog::blog.form', [
            'blog' => $blog,
            'fields' => Field::all()
        ]);
    }
...
}


form.blade.php
@if($fields->count())
    @foreach ($fields as $field)
        //выводим все доп. поля (type="text") c name="$field->slug"
        <div class="form-group">
            {{ Form::Text($field->slug) }}
        </div>

    @endforeach
@endif


Единственное, что пока приходит на ум, отправлять в форму и все доп поля и все связанные поля со значениями, потом сравнивать и заполнять. Но должен же быть способ лучше!? :)
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
В доке laravel'a

Вывод просто foreach $blog->fields as item
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
4px Москва
от 100 000 до 150 000 руб.
GOR
от 80 000 до 110 000 руб.
FUTUROOM Самара
от 150 000 руб.
15 авг. 2018, в 23:38
300 руб./за проект
15 авг. 2018, в 22:39
60000 руб./за проект
15 авг. 2018, в 21:18
30000 руб./за проект