将<select>和</select> <input />保存到laravel中的数据库中

时间:2019-05-22 03:40:51

标签: php laravel laravel-5 laravel-5.8

我有一个动态选择,它充满了数据库中的动态数组,我需要保存该选择的选择并将该选择保存在另一个表中,为此,我有一个这样的外键:我需要保存该选择的选择并将该选择保存在另一个表中,为此,我有一个像这样的外键:

$json=json_decode($_REQUEST["json"],true);
foreach ($json as $key => $value) {
    echo $key . ": " . $value;
    echo "<BR>";
}

我在选择中显示的另一个存储记录的表(id和名称)是:

public function up()
    {
    Schema::create('platoIngrediente', function (Blueprint $table) {
    $table->increments('id');
    $table->unsignedInteger('plato_id');
    $table->foreign('plato_id')->references('id')->on('platos');
    $table->unsignedInteger('ingrediente_id');
    $table->foreign('ingrediente_id')->references('id')->on('ingredientes');
    $table->double('cantidad', 8, 2);
    $table->timestamps();
        });
    }

这是我的观点。

public function up()
    {
        Schema::create('platos', function (Blueprint $table) {
            $table->increments('id');
            $table->char('nombre',50);
            $table->double('valor', 8, 2);
            $table->timestamps();
        });
    }

我将数据库中的参数作为名称命名,但是由于某些原因不起作用

这是我的.store方法。

<form method="post" action="{{ route('platoingrediente.store') }}">
  @csrf

  <dd>Primero selecciona un plato en el sistema: </dd>
  <select name="plato_id" class="form-control">
  <option selected>[ SELECCIONA UN PLATO ]</option>
   @foreach( $platos as $plato )
  <option value="{{ $plato->id }}">{{ $plato->nombre }}</option>
 @endforeach
</select>


    <div class="text-center up">
      <label class="name">  Agregar Ingredientes a el plato </label>
  </div>

<table class="table table-striped">
  <thead>
    <tr>
      <td>ID</td>
      <td>Nombre del Ingrediente</td>
      <td>Proveedor</td>
      <td>Agregar</td>
      <td>Cantidad</td>
    </tr>
  </thead>
  <tbody>
      @foreach($ingredientes as $ingrediente)
      <tr>
          <td>{{$ingrediente->id}}</td>
          <td>{{$ingrediente->nombre}}</td>
          <td>{{$ingrediente->proveedor}}</td>
          <td>

              <label>
            <input type="checkbox" name="check" id="check" value="" onchange="javascript:showContent(this)" />
          </label>

          </td>

          <td>
            <div class="form-group row">
             <div class="col-sm-4">
               <div class="dv" style="display:none;">
            <input class="dvs" name="cantidad" type="number" />
            </div>
          </div>
          </div>
          </td>
      </tr>
      @endforeach

  </tbody>
</table>


</div>
<div class="up text-center">
  <button type="submit" class="btn btn-primary">Crear Plato</button>
</div>
</form>

问题。 如何将选择以及复选框(如果可能)保存到数据库中?

1 个答案:

答案 0 :(得分:0)

您尝试过这样的事情吗?

 {{Form::select('platos', $platos, null, [ 
'placeholder' => 'placeholder value' ])}}

在您的控制器中,您需要选择名称和ID作为选择的键值对:

public function create() {
   $platos= Patos::where('active', 1)->pluck('name', 'id');

   return view('view', compact([ 'platos' ]));
 } 

只需更改变量名称并添加其他名称即可。

尝试类似这样的方法。 GL