Сначала спасибо за просмотр моего вопроса и извините за мой плохой английский.Laravel 5 с сохранением и обновлением моделей с отношением
У меня есть две модели:
пользователя Модель со следующей взаимосвязи:
public function datosAlumno()
{
return $this->hasOne('sj\Models\DatosAlumno','alumno_id');
}
и DatosAlumno модель:
public function alumno(){
return $this->belongsTo('sj\Models\User','alumno_id');
}
если я печатаю с дд (\ Request :: все ()):
array:16 [▼
"_method" => "PUT"
"_token" => "vnQp4msoo8UHGan5m4v8VYvX1kKYx8HnbhqaywZH"
"rut" => "111111111111"
"nombre" => "AAAAAAAAAA"
"apellido_paterno" => "BBBBBBBBBBB"
"apellido_materno" => "CCCCCCCCCCCC"
"sexo" => "masculino"
"comuna_id" => "13"
"direccion" => "RRRRRRRRRRRRRRRRRRRRRR"
"telefono_fijo" => "14876955"
"telefono_movil" => "3333333333"
"fecha_nacimiento" => "2000-11-03"
"email" => "[email protected]"
"datosAlumno" => array:1 [▼
"apoderado_id" => "37"
]
"password" => ""
"password_confirmation" => ""
]
Я пытаюсь сохранить или обновить «datosAlumno», но когда я использую сохранить, нажмите или обновить поле не изменяется в базе данных
public function update($id)
{
$user = User::with('datosAlumno')->find($id);
$user->fill(\Request::all());
$user->push();
}
Если я dd($user->datosAlumno)
после наполняться \Request::all()
я получаю это:
DatosAlumno {#297 ▼
#table: "datos_alumno"
#fillable: array:2 [▼
0 => "alumno_id"
1 => "apoderado_id"
]
#connection: null
#primaryKey: "id"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:6 [▼
"id" => 1
"alumno_id" => 97
"apoderado_id" => 15
"deleted_at" => null
"created_at" => "0000-00-00 00:00:00"
"updated_at" => "0000-00-00 00:00:00"
]
#original: array:6 [▼
"id" => 1
"alumno_id" => 97
"apoderado_id" => 15
"deleted_at" => null
"created_at" => "0000-00-00 00:00:00"
"updated_at" => "0000-00-00 00:00:00"
]
#relations: []
#hidden: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#dates: []
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
}
спасибо. Я рассмотрю вашу рекомендацию. –
Привет, я пытаюсь что-то очень похожее на то, что у вас здесь: $ Rental = Rental :: with ('region', 'location') -> find ($ id); где я могу заполнить прямые арендные поля $ Rental-> fill ($ requestData); и сохраните его, но когда я попытаюсь заполнить данные о местоположении: $ Rental-> location-> fill ($ otherRequestData); он не сохраняется. Я попробовал $ Rental-> push(), save(), update(), но каждый раз, когда данные местоположения никогда не сохраняются. Вы знаете, почему это может произойти? Объект $ Rental хорошо выглядит в Tinker с включенными данными о взаимоотношениях. – mtpultz
@mtpultz Пожалуйста, разместите свой случай как отдельный вопрос и включите некоторые образцы кода из декларации вашего класса :) – shaddy