我正在 laravel 中预订航类,并将其发布到 Heroku 上。我在开发时使用MySQL作为数据库,但是当我想在Heroku上发布时,他们没有MySQL,所以我使用了PostgreSQL。我观看了一些有关如何使用该数据库托管它的视频。
完成后,我可以在托管站点中执行 CRUD,但是当我要过滤航类时刻表时,它给了我一个错误。但是当我在本地主机中进行搜索时,它没有任何错误。
我认为这个错误出现在我使用的 PostgreSQL 中。我该如何解决这个问题?
我在 Controller 中的过滤方法。
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>
最佳答案
我强烈建议您在开发和生产中使用相同的数据库。 MySQL 和 PostgreSQL 并不是彼此的直接替代品。
要么
- 切换到本地 Postgres,重现错误并修复它,或者
- 使用受支持的 MySQL add-on就像生产中的 ClearDB 或 JawsDB。
关于mysql - 使用 postgreSQL 在 Heroku 中托管 Laravel 项目时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57863093/