diff --git a/app/Repositories/Summit/Doctrine/DoctrineSpeakerRepository.php b/app/Repositories/Summit/Doctrine/DoctrineSpeakerRepository.php index 27e21f42..861497c5 100644 --- a/app/Repositories/Summit/Doctrine/DoctrineSpeakerRepository.php +++ b/app/Repositories/Summit/Doctrine/DoctrineSpeakerRepository.php @@ -40,17 +40,20 @@ class DoctrineSpeakerRepository extends SilverStripeDoctrineRepository implement $extra_filters = ''; $extra_orders = ''; - $bindings = array(); + $bindings = []; if(!is_null($filter)) { - $extra_filters = ' WHERE '. $filter->toRawSQL(array - ( - 'first_name' => 'FirstName', - 'last_name' => 'LastName', - 'email' => 'Email', - )); - $bindings = array_merge($bindings, $filter->getSQLBindings()); + $where_conditions = $filter->toRawSQL([ + + 'first_name' => 'FirstName', + 'last_name' => 'LastName', + 'email' => 'Email', + ]); + if(!empty($where_conditions)) { + $extra_filters = " WHERE {$where_conditions}"; + $bindings = array_merge($bindings, $filter->getSQLBindings()); + } } if(!is_null($order)) diff --git a/tests/OAuth2SummitApiTest.php b/tests/OAuth2SummitApiTest.php index ebcc0ad4..d0d4fa5c 100644 --- a/tests/OAuth2SummitApiTest.php +++ b/tests/OAuth2SummitApiTest.php @@ -162,14 +162,14 @@ final class OAuth2SummitApiTest extends ProtectedApiTest public function testGetCurrentSummitSpeakers() { - $params = array - ( - 'id' => 6, - 'page' => 1, + $params = [ + + 'id' => 'current', + 'page' => 1, 'per_page' => 15, - 'filter' => 'first_name=@John,last_name=@Bryce,email=@sebastian@', - 'order' => '+first_name,-last_name' - ); + 'filter' => 'first_name=@John,last_name=@Bryce,email=@sebastian@', + 'order' => '+first_name,-last_name' + ]; $headers = array("HTTP_Authorization" => " Bearer " . $this->access_token); $response = $this->action(