Laravel - Введите трикс-поле в модель - PullRequest
0 голосов
/ 11 апреля 2020

Как мне ввести трикс-поле внутри существующей модели? Например, модель имеет заголовок, подзаголовок и абзац, который я хочу заполнить триксом. До сих пор у меня была другая модель для трикс-текста.

class Text_box extends Model{

protected $table = 'TextBox';

protected $fillable = [
   'id', 'pages_id','title','subtitle','text'
];}

Я хочу, чтобы текст был трикс-полем.

<form method="POST" enctype="multipart/form-data" action="/textbox/{{$page->id}}">
@csrf

<div class="form-group row">
    <label for="titlu" class="col-md-4 col-form-label text-md-right">Titlu</label>

    <div class="col-md-6">
        <input id="titlu" type="text" min="0" class="form-control" name="titlu"  required autocomplete="titlu" placeholder="*optional*">
    </div>
</div>
<div class="form-group row">
    <label for="autor" class="col-md-4 col-form-label text-md-right">Autor</label>

    <div class="col-md-6">
        <input id="autor" type="text" min="0" class="form-control" name="autor"  required autocomplete="autor" placeholder="*optional*">
    </div>
</div>

<div style = "height: 50px;"></div>

<div class="row">
    <div class="col-lg">
        <input id="tb" type="hidden" name="textbox">
        <trix-editor input="tb"></trix-editor>
    </div>
</div>
<div style = "height: 30px;"></div>

<div class="form-group row">
    <div class="col-sm">
        <button type="submit" class="btn btn-primary col-sm-2 float-right">
            {{ __('Submit') }}
        </button>
    </div>
</div>

Это моя форма.

 public function add_textbox(Request $request, $id)
{
    $trix = request()->input('textbox');
    return $trix;

    $textbox = Text_box::create([
        'title' => $request['titlu'],
        'subtitle' => $request['autor'],
        'text' => $trix['text'],
        'pages_id' => $id
    ]);
    $page = Pages::where('id',$id)->first();
    $w = json_decode($page->widgets,true);
    if($w)
        array_push($w,['textbox',$textbox->id]);
    else
        $w[] = ['textbox',$textbox->id];
    $page->widgets = json_encode($w);
    $page->save();

    return redirect('/edit/'.$id);
}

Это мой контроллер.

$trix var пуст.

1 Ответ

0 голосов
/ 11 апреля 2020

когда у вас есть форма в таком виде

<form …>
  <input id="x" type="hidden" name="content">
  <trix-editor input="x"></trix-editor>
</form>

, вы можете получить значение в контроллере следующим образом

$text = request()->input('content');
// and then save it into db
Text_box::create([
//your other fields
'text' => $text,
]);
...