【发布时间】:2017-07-07 19:59:24
【问题描述】:
我正在使用 Laravel 5.5。我正在尝试创建一个帖子,但是当我请求 all() 数据从请求实例中转储时,我没有打印出所有字段。
这是我创建帖子的代码:
/**
* 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
]));
}
我在print_R 中得到的只是标题:
Array ( [_token] => MhOTEGkR1oDMc50q0FiJmI8JCAeuCRrFCfRHcKkq [title] => test )
已编辑:
形式:
<!-- 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) -->
【问题讨论】:
-
向我们展示发出此请求的表单或 AJAX 或诸如此类的东西...并查看浏览器的网络检查器以查看网络上发生了什么。
-
您的输出显示数组的长度 = 9,但只有 7 个元素。似乎缺少的 2 将是
body和photo输入。 -
因此,查看您的
dd输出,array:9表示输出中应该有九个元素,而您的title参数最后缺少"。我怀疑这是您的dd的问题 - 您可以试试print_r吗? -
@ceejayoz 很奇怪... print_r 甚至不打印任何东西...
-
L5.5 更改了 validate 方法以返回经过验证的数据。它可能是(非)有意修改
$request->all()。这不太可能是故意的。尝试删除对validate()的调用,看看您是否看到所有数据,或者将没有规则的缺失字段添加到验证规则中