duankousong9637 2013-12-06 23:23
浏览 257
已采纳

Laravel奇怪的PDO fetchMode问题

This works and shows the result set:

$mainFeatures = new Mainfeature;
$mainFeatures->getConnection()->setFetchMode(PDO::FETCH_KEY_PAIR);
$main = $mainFeatures::get(array('id','data'))->toArray();
dd($main); 

But if i try to return with the result set:

return View::make('orders.create')
    ->with('features', Feature::with('Subfeature')->get()->toArray())
    ->with('mainFeatures', $main);

It gives an error:

SQLSTATE[HY000]: General error: PDO::FETCH_KEY_PAIR fetch mode requires the result set to contain extactly 2 columns. (SQL: select * from `features`) (Bindings: array ( ))

Not sure from where select * from features comes in...

  • 写回答

1条回答 默认 最新

  • dshxbrzgi090608692 2013-12-06 23:40
    关注

    I missed that i was changing the fetch mode for the connection and not just the class Mainfeature. So i had to reset it.

    $mainFeatures = new Mainfeature;
        $mainFeatures->getConnection()->setFetchMode(PDO::FETCH_KEY_PAIR);
        $main = $mainFeatures::get(array('id','data'))->toArray();
        //dd($h);
        //dd($main);
    
        $features = new Feature;
        $features->getConnection()->setFetchMode(PDO::FETCH_CLASS);
    
        return View::make('orders.create')
            ->with('features', $features::with('Subfeature')->get()->toArray())
            ->with('mainFeatures', $main);
    

    Credit goes to Clive for pointing me in the right direction.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b