Grammaire::paramétrer() doit être de type tableau

J'ai eu cette erreur

Argument 1 passé pour Éclairer\Database\Grammaire::paramétrer() doit être de type array, string donné,

quand j'ai essayé d'ajouter array[] de mon point de Vue à l'aide de sélectionner le formulaire. Mais quand je l'ai enlevé je n'ai pas d'erreur. J'essaye juste à l'entrée d'un multiple de la valeur dans ma liste de sélection. Dois-je utiliser foreach pour cela?

Vue

<div class = "form-group {{ $errors->has('approver') ? ' has-error' : '' }}">

    <label for = "approver" class = "control-label">Approver:</label>

    <select name = "approver[]" multiple class = "form-control select2-multi">

        @foreach ($approver as $list)
            <option value = "{{ $list->id }}">{{ $list->username }}</option>
        @endforeach

    </select>

    @if ($errors->has('approver'))
        <span class = "help-block">{{ $errors->first('approver') }}</span>
    @endif

</div>

Contrôleur

public function getDocuments()
{
   $approver = DB::table('users')->where('id', '!=', Auth::id())->get();

   return view ('document.create')->with('approver', $approver);
}

public function postDocuments(Request $request)
{

    $this->validate($request,
    [
        'title' => 'required|regex:/(^[A-Za-z0-9 ]+$)+/|max:255',
        'content' => 'required',
        'category' => 'required',
        'recipient' => 'required',
        'approver' => 'required',
    ]);     


    $document = new Document();
    $approve = new Approve();
    $user = Auth::user();
                                //Request in the form
    $document->title = $request->title;
    $document->content = $request->content;
    $document->category_id = $request->category;
    $approve->approver_id = $request->approver;

    $approve->save();

    $document->save();

    $document->sentToApprovers()->sync([$approve->id],false);

}

Mise à jour

Je mourrai, et le vidage de l' $approver variable et donne un tableau de valeur.

Grammaire::paramétrer() doit être de type tableau

Mourir aussi et vidage de la $request Comme vous pouvez le voir ici, j'ai d'entrée de l'id de 4 et 5 dans ma liste de sélection.

Grammaire::paramétrer() doit être de type tableau

S'il vous plaît montrer la valeur de $approver de votre foreach dans la vue.
J'ai mis à jour mon post. $approver est une variable où j'ai passé en mon avis, consultez.
Ok, donc c'est la question qui se produisent dans votre vue ou lorsque vous essayez d'enregistrer vos modèles?
Oui exactement ce problème est survenu lorsque j'ai ajouté un [] dans mon sélectionnez le formulaire.
Qu'est-ce que les données réelles de vidage (dd) de $approver? Je soupçonne que quelque chose se passe mal il que je ne peux pas reproduire ce problème localement, à l'aide de votre code.

OriginalL'auteur Francisunoxx | 2016-08-15