1
Это работает и показывает результирующий набор:Laravel странного PDO fetchMode вопрос
$mainFeatures = new Mainfeature;
$mainFeatures->getConnection()->setFetchMode(PDO::FETCH_KEY_PAIR);
$main = $mainFeatures::get(array('id','data'))->toArray();
dd($main);
Но если я пытаюсь вернуться с результирующим набором:
return View::make('orders.create')
->with('features', Feature::with('Subfeature')->get()->toArray())
->with('mainFeatures', $main);
Это дает ошибку:
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 ())
Не знаю, откуда находится select * from features
...
Не используется Laravel before, но 'get()' наверняка произведет 'SELECT *', тогда как 'get (array ('id', 'data'))' (как в вашем первом примере) SELECT id, data', который вы хотите для 'PDO :: FETCH_KEY_PAIR' – Clive
@ Посетите спасибо. –
@Clive хотите посмотреть на другие проблемы, которые возникают с PDO? http://stackoverflow.com/questions/20434522/specify-columns-for-pdofetch-key-pair Спасибо. –