【发布时间】:2020-01-11 18:09:42
【问题描述】:
我正在 laravel 中预订航班,并在 Heroku 上发布了它。我在开发时使用 MySQL 作为数据库,但是当我想在 Heroku 上发布它时,他们没有 MySQL,所以我使用了 PostgreSQL。我观看了一些有关如何使用该数据库托管它的视频。
完成后,我可以在托管站点中执行 CRUD,但是当我要过滤航班时刻表时,它给了我一个错误。但是当我在我的本地主机中进行搜索时,它没有任何错误。
我认为这个错误出现在我使用的 PostgreSQL 中。我该如何解决这个问题?
我在控制器中的过滤方法。
FlightsController.php
public function searchFlights(Request $request){
$flights = Flights::where('flight_country_from', 'like', '%' . $request->flightFrom . '%')
->where('flight_country_from', 'like', '%' . $request->flightFrom . '%')
->where('flight_country_to', 'like', '%' . $request->flightTo . '%')
->whereDate('flight_schedule', 'like', '%' . $request->flightDepart . '%')
->paginate(5);
return view('airways.flightresult', compact('flights'));
}
我的搜索表单
Search.blade.php
<div class="tab-pane fade" id="flights" role="tabpanel" aria-labelledby="flights-tab">
<h2 class="text-4 mb-3">Book Domestic and International Flights</h2>
<form method="GET" autocomplete="off" id="bookingFlight" action="{{url("/flightSearch")}}">
{{ csrf_field() }}
<div class="form-row">
<div class="col-md-8 col-lg-3 form-group">
<input class="form-control" type="text" name="flightFrom" id="flightFrom" placeholder="From">
<span class="icon-inside"><i class="fas fa-map-marker-alt"></i></span>
</div>
<div class="col-md-8 col-lg-3 form-group">
<input class="form-control" type="text" name="flightTo" id="flightTo" placeholder="To">
<span class="icon-inside"><i class="fas fa-map-marker-alt"></i></span>
</div>
<div class="col-md-8 col-lg-3 form-group">
<input class="form-control" name="flightDepart" id="flightDepart" required required placeholder="Departure Date">
<span class="icon-inside"><i class="far fa-calendar-alt"></i></span>
</div>
<div class="col-md-12 form-group">
<button class="btn btn-primary btn-block" type="submit">Search</button>
</div>
</div>
</form>
</div>
</div>
【问题讨论】:
-
"whereDate('flight_schedule', 'like', '%' . $request->flightDepart . '%')" 你到底想用这条线实现什么?不应该是 whereDate('flight_schedule', '=',$request->flightDepart) 或类似的东西吗?
-
这是我过滤的语法,先生。
标签: mysql laravel postgresql heroku