Как добавить условие, если в запросе laravel? (Laravel 5.3)

Моя функция в UserRepository.php выглядит так:

public function displayList($year, $subaccountcode = NULL)
{
    $query = Self::orderBy('programcode')
                 ->orderBy('accountcode')
                 ->findWhere(['year' => $year])
            if(isset($subaccountcode))
                 ->findWhere(['subaccountcode' => $subaccountcode]);
            else
                ;
    return $query;
}

Я добавляю условие, чтобы проверить, существует ли код субсчета или нет. Я пытался понравиться, но есть ошибка:

 2/2 ReflectionException in Container.php line 809: Class App\Repositories\UserRepository does not exist 

Как я могу решить ошибку?

ОБНОВИТЬ

Я использовал сторонний пакет. Я получаю отсюда: https://github.com/andersao/l5-repository

1 ответ

Это зависит от того, что findWhere() делает. Если это что-то вроде find() и он возвращает объект, но не экземпляр построителя запросов, затем сделайте это:

$query = Self::orderBy('programcode')->orderBy('accountcode')->findWhere(['year' => $year]);

if (isset($subaccountcode)) {
    $query->findWhere(['subaccountcode' => $subaccountcode]);
}

return $query;
Другие вопросы по тегам