PDOStatement::setFetchMode — 为语句设置默认的获取模式
bool PDOStatement::setFetchMode ( int $mode )
mode必须是 PDO::FETCH_* 系列常量中的一个
可使用参数:
PDO::FETCH_ASSOC //从结果集中获取以列名为索引的关联数组。
PDO::FETCH_NUM //从结果集中获取一个以列在行中的数值偏移量为索引的值数组。
PDO::FETCH_BOTH //这是默认值,包含上面两种数组。
PDO::FETCH_OBJ //从结果集当前行的记录中获取其属性对应各个列名的一个对象。
PDO::FETCH_BOUND //使用fetch()返回TRUE,并将获取的列值赋给在bindParm()方法中指定的相应变量。
PDO::FETCH_LAZY //创建关联数组和索引数组,以及包含列属性的一个对象,从而可以在这三种接口中任选一种。
laravel使用示例:
$date=date('Y-m-d'); //当前日期
$first=1; //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
$w=date('w',time()); //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
$now_start=date('Y-m-d',strtotime("$date -".($w ? $w - $first : 6).' days')); //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
$now_end=date('Y-m-d',strtotime("$now_start +1 week")); //本周结束日期
DB::setFetchMode(PDO::FETCH_ASSOC);//获取关联数组
$oHospitals = DB::table('hospital')->select('id','created_at')
->get();
$total = count($oHospitals);
$num = 0;
if($total){
foreach($oHospitals as $v){
if($v['created_at'] >= $now_start && $v['created_at'] <= $now_end){
$num++;
}
}
}