何故必要か
ORMや、デフォルトでのConnectionManagerではfetchAll('assoc')やnumなど簡単なものしか使えず、取得した結果を更にHash()やforeachなどで整形しなければならないため。
やりたいこと
普通にassocで取ると
[0] => [
['id'] => 5,
['name'] => 'hoge',
],
[1] => [
['id'] => 14,
['name'] => 'fuga',
],
のように取れてしまうので、0、1・・・連番は必要ない。
fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)
[5] => [
['name'] => 'hoge'
],
[14] => [
['name'] => 'fuga',
],
どうやるか
use PDO;
use Cake\Datasource\ConnectionManager;
...
$connection = ConnectionManager::get('default');
$sql = "SELECT * FROM Hoge WHERE id <> ?";
$other_member = $connection->execute($sql, [$auth['id']])->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
pr($other_member);
PDOを使うのに、特にyumやcomposerなどでインストールは必要ない認識ですが環境によっては必要になるのかも知れません。