首页 > 解决方案 > 我在 Laravel 8 中使用 livewire 将表单插入到我的数据库中,我收到以下错误

问题描述

我在 Laravel 8 中使用 livewire 将表单插入到我的数据库中,但出现以下错误。我尝试对等级变量进行 json 编码,但我无法解决问题。

//my insertion view
      <div >
                            <select class="form-control" id="select2-dropdown">
                                <option value="">Select Option</option>
                                <option value="{{ $item }}">{{ $item }}</option>
                                @foreach($grade as $item)

                                    <option value="{{ $item }}">{{ $item }}</option>
                                @endforeach

                            </select>
                        </div>


//inside livewire/wizard


class Wizard extends Component
{
    public $currentStep = 1;
    public $first_name, $price, $detail,$middle_name,
 
    public $grade = [
        'one',
        'two',
        'Three',
        'Four'
    ];
public function submitForm()
    {
        Student::create([
          
           
            'grade' =>$this->grade
            
        ]);

标签: databaseformsinputdropdownlaravel-8

解决方案


在刀片

<select class="form-control" id="select2-dropdown" wire:model="selectedItem">  // wire:model bind to the property
   <option value="">Select Option</option>
   @foreach($grade as $item)
     <option value="{{ $item }}">{{ $item }}</option>
   @endforeach
</select>

在组件中

public $selectedItem;
public $grade = [
        'one',
        'two',
        'Three',
        'Four'
];
public function submitForm()
{
  Student::create([       
    'grade' =>$this->selectedItem
  ]);
}

推荐阅读