php--setFetchMode

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++;
        }
    }
}

你可能感兴趣的:(框架,php)