Bonjour
J'ai continué mes cherches et je pense je dois être con!
J'ai donc, dans un premier temps, restructurer mon formulaire car je pense que c'est bien lui qui merde à la base.
Voici mon code actuel pour mon formulaire:
<div class="col-lg-12">
{!! Form::open(['route' => ['admin.newsletter.update', $newsletters['id']] ]) !!}
<input name="_method" value="POST" type="hidden">
<?php
for($i=0; $i<=5; $i++){
$current = $i+1;
?>
<div class="col-lg-12">
<div class="col-lg-11">
<div class="form-group">
<div class="col-lg-2">
{!! Form::label("newsletterpost[$i]['post_id']", 'Article n°' . $current) !!}
</div>
<div class="col-lg-10">
<?php if($newsletters['newsletterpost']) { ?>
<?php $post_id = $newsletters['newsletterpost'][$i]['post_id']; ?>
{!! Form::select("newsletterpost[$i]['post_id']", $posts, $post_id, ['class' => 'form-control selectoronlect', 'data-id'=> $i]) !!}
{!! Form::hidden("newsletterpost[$i]['id']", $newsletters['newsletterpost'][$i]['id'])!!}
<?php } else { ?>
{!! Form::select("newsletterpost[$i]['post_id']", $posts, '', ['class' => 'form-control selectoronlect', 'data-id'=> $i]) !!}
<?php }
?>
{!! Form::hidden("newsletterpost[$i]['newsletter_id']", $newsletters['id']) !!}
</div>
</div>
</div>
<div class="col-lg-1">
<p style="text-align: center">
<a href="#" class="url_{{ $i }}" target="_blank"><i class="fa fa-file-text-o"></i></a>
</p>
</div>
</div>
<br /><br /><br />
<?php
}
?>
<br /><br /><br />
<div class="col-lg-12">
<a href="#" class="btn btn-primary">Aperçu de la newsletter</a>
</div>
<br /><br /><br />
<div class="col-lg-12">
<div class="form-group">
<div class="col-lg-2">
{!! Form::label('state', 'Etat de la newsletter') !!}
</div>
<div class="col-lg-10">
<?php
$state = $newsletters['state'];
$etat = array(0 => "Brouillon", 1 => "Publier", 2 => "Déjà envoyé");
?>
{!! Form::select('state', $etat, $state, ['class' => 'form-control']) !!}
</div>
</div>
{!! Form::hidden('id', $newsletters['id']) !!}
{!! Form::submit('Valider', ['class' => "btn btn-primary"]) !!}
</div>
{!! Form::close() !!}
</div>
Lors de la validation, j'obtiens une erreur de "synthaxe".
[2018-10-21 18:48:03] dev.ERROR: ErrorException: preg_replace(): Parameter mismatch, pattern is a string while replacement is an array in /home/leknoppix/................../vendor/laravel/framework/src/Illuminate/Support/helpers.php:686
Par contre, quand je fais une print_r() suiivi d'un die(), j'obtiens bien un tableau avec les informations de ce formulaire:
Array
(
[_token] => dTK7cguWBEF06BBC55RWpFwKOi6hYlBEHtuH42Gi
[_method] => POST
[newsletterpost] => Array
(
[0] => Array
(
['post_id'] => 30503
['newsletter_id'] => 2
)
[1] => Array
(
['post_id'] => 30504
['newsletter_id'] => 2
)
[2] => Array
(
['post_id'] => 30505
['newsletter_id'] => 2
)
[3] => Array
(
['post_id'] => 30506
['newsletter_id'] => 2
)
[4] => Array
(
['post_id'] => 30507
['newsletter_id'] => 2
)
[5] => Array
(
['post_id'] => 30508
['newsletter_id'] => 2
)
)
[state] => 0
[id] => 2
)
Ce qui prouve que mon action du controller est bel et bien appelé.
Si quelqu'un aurait une idée, je suis preneur car je ne sais plus quoi faire.
Merci d'avance