#php #laravel #laravel-6
Вопрос:
Я думаю , что поступаю правильно, потому что, когда я отправляю информацию в форме, она просто сохраняется nif
table1
, но не nif_table2
в table2
ней .
2 таблицы имеют связь благодаря их ID_tableX, больше нет никаких полей.
Я не вижу никакой ошибки, поэтому я думаю, что главная проблема в моделях, вы что-нибудь видели?
EnviarCurriculum.php
namespace App;
use IlluminateDatabaseEloquentModel;
class EnviarCurriculum extends Model
{
protected $table = 'table1';
protected $primaryKey = 'ID_table1';
protected $fillable = [
'nif'
];
public function enviarcurriculumpreguntas()
{
return $this->belongsTo(EnviarCurriculumPreguntas::class);
}
}
EnviarCurriculumPreguntas.php
namespace App;
use IlluminateDatabaseEloquentModel;
class EnviarCurriculumPreguntas extends Model
{
protected $table = 'table2';
protected $primaryKey = 'ID_table2';
protected $fillable = [
'nif_table2'
];
}
EnviarCurriculumController.php
namespace AppHttpControllersenviarCurriculum;
use AppEnviarCurriculum;
use AppConfiguracion;
use AppHttpControllersController;
use IlluminateHttpRequest;
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)
{
EnviarCurriculum::create($request->validated());
}
}
enviar_curriculum.blade.php
<!DOCTYPE html>
<html lang="es">
<head>
...
</head>
<body>
<form action="{{ route("store") }}" method="POST">
@csrf
<input type="text" name="nif" id="nif">
<input type="text" name="nif_table2" id="nif_table2">
<input type="submit" class="btn btn-primary" value="Enviar">
</form>
</body>
</html>
Ответ №1:
Я просто должен поставить
EnviarCurriculumPreguntas::создать($запрос->проверено());
в EnviarCurriculumController.php
namespace AppHttpControllersenviarCurriculum;
use AppEnviarCurriculum;
use AppEnviarCurriculumPreguntas;
use AppConfiguracion;
use AppHttpControllersController;
use IlluminateHttpRequest;
use AppHttpRequestsStoreEnviarCurriculumPost;
class EnviarCurriculumController extends Controller
{
public function index()
{
$configuraciones = Configuracion::orderBy('valor')->get();
return view('enviar_curriculum', ['EnviarCurriculum' => new EnviarCurriculum(), 'configuraciones' => $configuraciones]);
}
public function create()
{
$configuraciones = Configuracion::orderBy('valor')->get();
return view('enviar_curriculum', ['EnviarCurriculum' => new EnviarCurriculum(), 'configuraciones' => $configuraciones]);
}
public function store(StoreEnviarCurriculumPost $request)
{
EnviarCurriculum::create($request->validated());
EnviarCurriculumPreguntas::create($request->validated());
return back()->with('status', '¡Curriculum creado con éxito!');
}
}
Я профессионал, т. е.