【发布时间】:2019-03-20 09:14:02
【问题描述】:
我正在尝试将 eloquent 初始化为 setFetchMode 为 PDO::FETCH_ASSOC。
我已经尝试了所有可能的方法,但它不起作用。
到目前为止我尝试了什么:
使用addConnection添加它
$capsule = new Illuminate\Database\Capsule\Manager;
$capsule->addConnection([
...
'fetch' => PDO::FETCH_ASSOC
]);
使用setFetchMode
$capsule->setFetchMode(PDO::FETCH_ASSOC);
使用事件:
$t = new Illuminate\Events\Dispatcher;
$t->listen(Illuminate\Database\Events\StatementPrepared::class, function ($event) {
$event->statement->setFetchMode(PDO::FETCH_ASSOC);
});
但这些都不起作用。知道如何使PDO::FETCH_ASSOC 工作吗?
PS:我知道前两个选项不适用于最新版本的 eloquent,但我还是必须尝试一下。我愿意接受有关如何使第三个选项起作用的建议。通常,第三个应该从看起来像这样Event::listen 开始,但我不知道Events 类是从哪里来的。我还需要某种事件监听器吗?
PPS :我没有使用 Laravel,我使用的是Illuminate 的 eloquent 和 PHP 使用 composer。
【问题讨论】: