У меня есть форма со следующими полями
Ситуация такова, что «рост и вес» хранятся в одной таблице, а остальные поля - в независимой.
И в качестве примера: когда два пользователя используют эту форму, моя функция в контроллере сохраняет две соответствующие записи, однако в таблице «info_medicas», где «рост и вес» хранятся в поле «id» человек регистрирует меня только по первому «идентификатору»
Записи в моей медицинской информационной карте
И, наконец, эту функцию я использую для сохранения этих записей
public function guardar_activacion(Request $request){
activacion_participantes::create([
'nombre' => $request['nombre'],
'appaterno' => $request['appaterno'],
'apmaterno' => $request['apmaterno'],
'edad' => $request['edad'],
'sexo' => $request['sexo'],
'id_municipio' => $request['id_municipio'],
'id_evento' => $request['id_evento']
]);
info_medicas::create([
'estatura' => $request['estatura'],
'peso' => $request['peso'],
'id_part_activ' => $request['id_part_activ']
]);
return redirect("participante-activacion")->with('status','ATENCIÓN: El registro se insertó exitosamente');
}
Участники_ модель активации
class activacion_participantes extends Model
{
use SoftDeletes;
protected $primaryKey = 'id_part_activ';
protected $fillable = ['id_part_activ','nombre','appaterno','apmaterno','edad','sexo','id_municipio','id_evento'];
protected $date = ['deleted_at'];
public function infos(){
return $this->belongsTo('App\info_medicas','id_part_activ');
}
}
Модель Medical_info
class info_medicas extends Model
{
use SoftDeletes;
protected $primaryKey = 'id_info_medica';
protected $fillable = ['id_info_medica','estatura','peso','medida_cintura','medida_cadera','medida_brazo','medida_muslo','medida_pantorrilla','avance','id_part_activ'];
protected $date = ['deleted_at'];
public function participantes(){
return $this->belongsTo('App\activacion_participantes','id_part_activ');
}
}
Я надеюсь, что кому-то удастся помочь мне, я был бы признателен
Тебя определило обе связи как belongsTo
. Одна из них, infos я предполагаю, deber¦, - чтобы быть hasOne
или hasMany
, завися, если у него могут быть каждые activacion_participantes
один или несколько info_medicas
связанных.
Смоделировал activacion_participantes
class activacion_participantes extends Model
{
public function infos(){
return $this->hasOne('App\info_medicas','id_part_activ');
}
}
Я моделирую info_medicas
class info_medicas extends Model
{
public function participantes(){
return $this->belongsTo('App\activacion_participantes','id_part_activ');
}
}
Потом в твоем funci¦n guardar_activacion , ты можешь создавать реестр для activacion_participantes
и использовать relaci¦n, определенный, чтобы создавать связанный реестр info_medicas
:
public function guardar_activacion(Request $request){
$activacion_participantes = activacion_participantes::create([
'nombre' => $request['nombre'],
'appaterno' => $request['appaterno'],
'apmaterno' => $request['apmaterno'],
'edad' => $request['edad'],
'sexo' => $request['sexo'],
'id_municipio' => $request['id_municipio'],
'id_evento' => $request['id_evento']
])
// aquí, como el método activacion_participantes::create() va a devolver la instancia del modelo que acabas de crear, puedes usar la relación infos() para crear el registro de info_medicas relacionado
$activacion_participantes->infos()->create([
'estatura' => $request['estatura'],
'peso' => $request['peso'],
]);
return redirect("participante-activacion")->with('status','ATENCIÓN: El registro se insertó exitosamente');
}
ЗАМЕЧАЕТ: Не использовав Соглашений Модели Элокент , deberÃ: s добавлять вручную имя подмостков к моделям с protected $table = 'el_nombre_de_la_tabla';
, и возможно ademÃ: s ключей forÃ: neas, también локальные ключи для связей $this->hasOne('App\Model', 'foreign_key', 'local_key');
.