【发布时间】:2021-09-05 14:49:20
【问题描述】:
我必须在数据库中同时保存 x2 个相同的数据字段(nif 和 name)。
使用 1 个字段 (nif) 它可以完美运行并使用不同的信息在数据库中保存 x2 行,因此 JSON 可以正常工作,但添加第 2 个字段 (name) 它只会保存 nif 值字段。
我不太了解 JSON 和他的语法逻辑,但我认为问题在于我如何在控制器中编写它。
P.D.不,我不能将EnviarCurriculumPreguntas::create x2 放在一行中,因为这不是这段代码的目的,所以我改用 JSON。
EnviarCurriculum.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class EnviarCurriculum extends Model
{
protected $table = 'table';
protected $primaryKey = 'ID_table';
protected $fillable = [
'nif',
'name'
];
public function getRepeatedFields()
{
return json_decode($this->nif);
return json_decode($this->name);
}
}
EnviarCurriculumController.php
namespace App\Http\Controllers\enviarCurriculum;
use App\EnviarCurriculum;
use App\Configuracion;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class EnviarCurriculumController extends Controller
{
public function index()
{
return view('enviar_curriculum', ['EnviarCurriculum' => new EnviarCurriculum()]);
}
public function create()
{
return view('enviar_curriculum', ['EnviarCurriculum' => new EnviarCurriculum()]);
}
public function store(Request $request)
{
foreach (request('nif', 'name') as $val) {
EnviarCurriculum::create(['nif' => $val, 'name' => $val]);
}
}
}
enviar_curriculum.blade.php
<!DOCTYPE html>
<html lang="es">
<head>
...
</head>
<body>
<form action="{{ route("store") }}" method="POST">
@csrf
<div>
<input type="text" name="nif[]" id="nif">
<input type="text" name="name[]" id="name">
</div>
<br>
<div>
<input type="text" name="nif[]" id="nif">
<input type="text" name="name[]" id="name">
</div>
<input type="submit" class="btn btn-primary" value="Enviar">
</form>
</body>
</html>
【问题讨论】:
-
公共函数 getRepeatedFields() { return json_decode($this->nif);返回 json_decode($this->name); }