Я столкнулся с проблемой, для которой я не нашел решения: когда я обновляю элемент, я должен обновить его для второй базы данных, где модель отличается (пример: запрос отправляет входной текст 'title'и это должно быть записано в поле «intitule» во второй базе данных).В моей первой базе данных запрос соответствует модели, и нет никаких проблем, но во втором запрос на обновление не происходит.Я пытался изменить установленный мутатор без успеха.Испытывали ли вы эту проблему и решили ли вы ее?
Вот моя модель:
<?php
namespace App\Old;
use Illuminate\Database\Eloquent\Model;
class Stage extends Model
{
// Ce modèle est celui de l'ancienne base de donnée
// changement de connexion
protected $connection = 'mysql2';
//la nom de la table ne correspond pas au nom par défaut attendu par le framework au regard de du nom du modèle
protected $table = 'stages';
//changement de clés primaire par défaut attendu par le framework
protected $primaryKey = 'id_stages';
// Ces champs ne sont pas modifiables
//protected $guarded = ['id'];
protected $fillable = ['intitule_stage'];
//On ne remplit pas de champs created_at et updated_at par défaut ds Eloquent
public $timestamps = false;
public function setTitleAttribute($value){
$this->attribute['intitule_stage']=$value;
}
}
Вот контроллер
public function update(Request $request, Formation $formation)
{
//dd($request);
$requestFormation = FormationRequest::createFrom($request);
$requestStage = StageRequest::createFrom($request);
//dd($requestFormation);
$formation->update($requestFormation->all());
$stage = Stage::findOrFail($formation->id);
if ($this->updateStage($requestStage, $stage)) {
session()->flash('success_message', 'Modification enregistrée');
return redirect(route('formation.index'));
}
}
private function updateStage(StageRequest $request,Stage $stage):bool {
//dd($request->input('titre'));
return $stage->update($request->all());
}
Спасибо за вашу помощь