Laravel 5.5 demande()->tous les() ne pas obtenir toutes les entrées
Je suis à l'aide de Laravel 5.5. Je suis en train de créer un post, mais quand je demande pour tous les() des données à mourir de vidage de demande exemple je n'ai pas tous les champs imprimés.
Voici mon code pour créer le poste de:
/**
* Persist new post.
*/
public function store()
{
$this->validate(request(),[
'title'=>'required'
]);
dd(request()->all());
$path = CreatePhotoThumbnail(request()->file('photo'));
auth()->user()->addPost(new Posts( [
'title'=>request('title'),
'body'=>request('body'),
'photo'=> $path
]));
}
Tout ce que j'obtiens dans print_R
est seulement le titre:
Array ( [_token] => MhOTEGkR1oDMc50q0FiJmI8JCAeuCRrFCfRHcKkq [title] => test )
Édité:
La forme:
<!-- Main (left side) -->
<section style="margin-top:20px;">
<div class="row">
<div class="col-sm-12">
<!-- post -->
<article class="blog-post">
<div class="post-entry">
<h2>Create a Blog Post</h2>
<p>Be as specific as u can:</p>
<form name="" action="/posts/create" method="post" class="comment-form" enctype="multipart/form-data">
{{csrf_field()}}
<div style="display: none;">
<input type="hidden" name="_wpcf7" value="79" />
<input type="hidden" name="_wpcf7_version" value="4.1" />
<input type="hidden" name="_wpcf7_locale" value="en_US" />
<input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f79-p64-o1" />
<input type="hidden" name="_wpnonce" value="ebcdc94d2e" />
</div>
<div class="row">
<div class="col-md-12">
<label for="title">Post Title</label>
<input id="title" type="text" placeholder="Post Title" name="title">
</div>
<div class="col-md-12">
<label for="body">Body:</label>
<textarea name="body" id="body" placeholder="Post body" rows="10"></textarea>
</div>
<div class="col-md-12" id="drop">
<label for="photo">Upload a post picture</label>
<input type="file" id="photo" name="photo" >
</div>
<div class="col-md-12"><input type="submit" value="Create Post" class="submit-button" /></div>
</div>
</form>
</div>
<div class="col-md-12" style="padding: 0px; margin:0px;">
@include('layouts.errors')
</div>
</article>
<!-- contact end -->
</div><!-- end col-md-12 -->
</div><!-- end row -->
</section>
<!-- END Main (left side) -->
Montrez-nous le formulaire ou l'AJAX, ou autre chose qui fait cette demande... et découvrez votre navigateur Réseau de l'inspecteur pour voir ce qu'il se passe sur le fil.
Votre sortie montre le tableau a longueur = 9, mais il y a seulement 7 éléments. Semble que le manque 2 serait le
Donc, en regardant votre
assez étrange... print_r n'a même pas d'imprimer quoi que ce soit...
L5.5 a changé de la validation de la méthode pour renvoyer les données validées. Il est possible que c'est (volontairement ou involontairement)la modification de
Votre sortie montre le tableau a longueur = 9, mais il y a seulement 7 éléments. Semble que le manque 2 serait le
body
et photo
entrées.Donc, en regardant votre
dd
de sortie, array:9
indique qu'il doit être neuf éléments dans la sortie, et votre title
le paramètre n'est pas un "
à la fin. Je soupçonne que c'est un problème avec votre dd
- pouvez-vous essayer print_r
à la place?assez étrange... print_r n'a même pas d'imprimer quoi que ce soit...
L5.5 a changé de la validation de la méthode pour renvoyer les données validées. Il est possible que c'est (volontairement ou involontairement)la modification de
$request->all()
. Peu probable que cela est intentionnel. Essayez de supprimer l'appel à validate()
et voir si vous voyez toutes les données, ou ajouter vos champs manquants avec pas de règles à vos règles de validationOriginalL'auteur Leorent | 2017-07-07
Vous devez vous connecter pour publier un commentaire.
Laravel 5.5 changé le
validate()
méthode pour retourner les champs validés, de sorte que vous pouvez facilement passer des données valides à la création du modèle, sans l'aide derequest->only()
par exemple.Il est possible qu'il est, sans le vouloir modifier
$request->all()
et en tant que tel, vous n'obtenez pas le résultat souhaité.Si vous voulez tout avoir, essayez d'ajouter des champs à votre programme de validation, même si vous ne voulez pas de les valider, c'est à dire sans règles.
Par exemple
$validData doit contenir vos champs.
Vous pouvez également essayer de
Qui pourrait ne pas modifier l'objet de la requête sens
$request->all()
pourrait fonctionner comme prévuIntéressant. Toute chance que vous pouvez citer vos sources pour les autres à lire?
OriginalL'auteur Ben Swinburne