Sauvegarder des données provenant d'un select multiple dans un composant Livewire/Jetstream
J'ai une table qui a été implémentée avec une autre table en relation pivot
Code:
1 2
|
Schema::create('cardCRC_projects', function(Blueprint $table) { $table->increments('id'); $table->integer('cardCRC_id')->unsigned(); $table->foreign('cardCRC_id')->references('id')->on('card_cyclic_redundancy_checks') ->onDelete('restrict') ->onUpdate('restrict'); $table->integer('project_id')->unsigned(); $table->foreign('project_id')->references('id')->on('projects') ->onDelete('restrict') ->onUpdate('restrict'); $table->softDeletes(); }); |
Je voudrais créer dans mon blade un select multiple avec des objets projects et attacher des données à mon objet principal card_cyclic_redundancy_checks comme ceci :
`
Code:
1 2 3 4 5 6
|
<select multiple wire:model="project">
@foreach($projects as $project)
<option value="{{$project->id}}">{{$project->name}}</option>
@enforeach
</select>` |
Dans mon CardCRCForm dans ma méthode submit() :
`
Code:
1 2
|
if($this->projects!=null) foreach($this->projects as $proj){ $project=Project::find($this->project->id)->first(); $this->cardCRC->projects()->attach($project); } |
nb : les données sont enregistrées lorsque je mets $this->project->id sur 1 comme ceci :
Code:
1 2 3
|
$project=Project::find(1)->first();
$this->cardCRC->projects()->attach($project); |
Quelle est mon erreur car les données ne sont pas sauvegardées ?
Merci pour vos réponses et bonne journée à tous.
Viviane Le Hegaret