今天Laravel 5搜索记录30分钟及以上

时间:2017-03-03 14:43:19

标签: laravel-5

我正在尝试获取所有30分钟的记录,并且今天使用名为smsed value = 0的字段。

我要做的是获取今天数据库中的所有记录,且日期超过30分钟。

function getData() {
  return new Promise(resolve => setTimeout(() => {
    resolve('bar');
  }, 2000));
}

class App extends React.Component {
  state = {
    data: 'foo'
  };
  componentDidMount() {
    getData().then(data => {
      this.setState({ data });
    })
  }
  render() {
    return <div> {this.state.data} </div>;
  }
}

ReactDOM.render(
  <App />,
  document.getElementById('app')
);

以上所做的是获取数据库中的所有记录,而不仅仅是今天。

1 个答案:

答案 0 :(得分:1)

这是因为你只要求它提供超过30分钟的记录,而不包括任何限制它到今天的记录。

您可以使用whereBetween

之类的内容
$data = DB::table('applicant')
    ->whereBetween('AppDate', [Carbon\Carbon::now()->startOfDay(), Carbon\Carbon::now()->subMinute(30)])
    ->where('smsed', '=', 0)
    ->limit(5000)
    ->get();

或者,如果您只想保留sql函数,可以执行以下操作:

$data = DB::table('applicant')
    ->whereRaw('AppDate < (NOW() - INTERVAL 30 MINUTE)')
    ->whereRaw('DATE(AppDate) = CURDATE()')
    ->where('smsed','=',0)
    ->limit(5000)
    ->get();

希望这有帮助!