「created_at」列に基づいてレコードのリストを取得するphp関数があります。
public function browseResults($days = 90) {
$search_period_in_seconds = 60*60*24*$days;
$today = time();
$reference_date = $today - $search_period_in_seconds;
$query ="SELECT * FROM brands";
$query .=" WHERE created_at > ".$reference_date;
$results = DB::select($query); // This is laravel syntax for performing the query.
これは必要な結果を返しません。問題は、MySql データベースが日付を次の形式で保存しているためだと思います。2013-08-04 15:54:42
これは、UNIX タイムスタンプと比較されます。なんらかの形式のstrtotime()
関数を SQL に挿入しようとしましたが、これによりエラーが発生しました。データベースからすべてのレコードを取得し、PHP で比較を行う必要を回避する方法はありますか? つまり、SQL クエリでフィルタを実行することは可能ですか?
どうもありがとう