У меня есть динамический выбор, который заполнен динамическим массивом из моей базы данных, мне нужно сохранить выбор этого выбора и сохранить этот выбор в другой таблице, для этого у меня есть такой внешний ключ:сохранить выбор этого выбора и сохранить этот выбор в другой таблице, для этого у меня есть внешний ключ, например:
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();
});
}
Это мое мнение.
<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>
, где у меня есть в качестве имени параметры, которые находятся в моей базе данных, но по какой-то причине неработа
Это мой метод .store.
class PlatoIngredienteController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$platos = Plato::all();
$ingredientes = Ingrediente::all();
$platoingredientes = PlatoIngrediente::all();
return view('platoingrediente/index', compact('platos','ingredientes','platoingredientes'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$platos = Plato::all();
$ingredientes = Ingrediente::all();
$platoingredientes = PlatoIngrediente::all();
return view('platoingrediente/create', compact('platos','ingredientes','platoingredientes'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$validatedData = $request->validate([
'cantidad' => 'required|max:50',
'id_plato' => 'required|max:50'
]);
$platoingrediente = PlatoIngrediente::create($validatedData);
return redirect('/platoingrediente')->with('success','El Plato se guardó correctamente en la base de datos');
}
/**
* Display the specified resource.
*
* @param \App\PlatoIngrediente $platoIngrediente
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\PlatoIngrediente $platoIngrediente
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\PlatoIngrediente $platoIngrediente
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\PlatoIngrediente $platoIngrediente
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
Вопрос .. Как мне сохранить выбранные и, если возможно, флажки ввода в моей базе данных?