【发布时间】:2018-11-23 22:12:01
【问题描述】:
我正在尝试在我的 Web 应用程序上创建一个功能,允许用户查看两个日期之间的帖子。但是,我在尝试将数据从数据库传递到刀片模板时遇到问题。我没有检索帖子的 created_at 日期,而是收到日期“1/01/1970”并且没有出现工作编号。
首先我在 web.php 文件中添加了路由:
Route::get('/search', function () {
return view('search');
});
Route::post('/select', 'PostController@getDate');
在我的 PostController.php 文件中,我添加了我的 getDate 函数:
public function getDate(Request $request){
$posts = DB::table('jobs')
->whereBetween('created_at', [$request->fdate, $request->sdate])
->get();
$posts->created_at = $request->created_at;
$posts->job_number = $request->job_number;
return view('result', ['posts' => $posts]);
}
我的 search.blade.php 是这样的形式:
<form method="POST" action="/select">
{{ csrf_field() }}
<div class="form-group">
<label>First Date:</label>
<input type="date" class="form-control" name="fdate">
</div>
<div class="form-group">
<label>Second Date:</label>
<input type="date" class="form-control" name="sdate">
</div>
<input type="submit" value="Get Post Between" class="btn btn-primary">
</form>
显示帖子的我的 result.blade.php 文件。
@if(count( $posts )>0)
<table class="table table-bordered table-striped">
<thead>
<th>Date created</th>
<th>Job Number</th>
</thead>
<tbody>
@foreach($posts as $post)
<tr>
<td>{{ date('j/m/Y', strtotime($posts->created_at)) }}</td>
<td>{{ $posts->job_number }}</td>
</tr>
@endforeach
</tbody>
</table>
@else
<h3 class="text-center">No Post from Selected Range</h3>
@endif
我真的很困惑,我使用了正确的变量。
【问题讨论】:
标签: laravel laravel-5 eloquent