我正在尝试获取所有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')
);
以上所做的是获取数据库中的所有记录,而不仅仅是今天。
答案 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();
希望这有帮助!