Вызов функции-члена где () на массиве php

        $customers = \dibi::select('*')->from('accounts')->fetchAll();
    if($username){
        $customers = $customers->where("username", $username);
    }

У меня проблема с этим кодом. Ошибка:

Вызов функции-члена where() для массива.

1 ответ

fetchAll вернуть ISelection, Вы не звоните, где на ISelection

if($username){
  $customers = \dibi::select('*')->from('accounts')->where("username", $username)->fetchAll();
}

или же

$customersTable = \dibi::select('*')->from('accounts');

if($username){
  $customersTable = \dibi::select('*')->from('accounts')->where("username", $username);
}

$customers = $customersTable->fetchAll();
Другие вопросы по тегам