Drupal 8 custom autocomplete error 500 -


can me wrong did? server returns internal server error 500. looks not able controller. can explain me mistake? think in routing autocomplete path not sure. if how can fix it? thank much, guys

my form autocomplete form element:

$form['field_father'] = array(         '#title' => t('father'),         '#type' => 'textfield',         '#autocomplete_route_name' => 'cows.autocomplete',         '#autocomplete_route_parameters' => array(),       ); 

the module routing file:

cows.form:  path: '/cows/add'  defaults:    _title: 'add cow'    _form: '\drupal\cows\form\cowsform'  requirements:    _permission: 'access content'  cows.autocomplete:   path: '/cows/autocomplete'   defaults:     _controller: '\drupal\cows\controller\cowscontroller::autocomplete'   requirements:     _permission: 'access content' 

the controller code:

namespace drupal\cows\controller;  use drupal\core\controller\controllerbase; use symfony\component\httpfoundation\jsonresponse;   class cowscontroller extends controllerbase {     public function autocomplete(request $request)     {       $matches = [];       $string = $request->query->get('q');        $query = \drupal::database()->select('node__field_name', 'fn');       $query->fields('fn', ['field_name_value', 'entity_id']);       $query->addfield('fg', 'field_gender_value');       $query->join('node__field_gender', 'fg', 'fg.entity_id = fn.entity_id ');       $query->condition('fn.field_name_value', '%' . $string . '%', 'like');       $query->condition('fg.field_gender_value', array('bull','ox'), 'in');       $result = $query->execute();        foreach ($result $row) {         $matches[] = ['value' => $row->entity_id, 'label' => $row->field_name_value];       }        return new jsonresponse($matches);     } } 

thank much

use namespace support request $request.

namespace drupal\cows\controller;  use drupal\core\controller\controllerbase; use symfony\component\httpfoundation\jsonresponse; /****this newly added****/ use symfony\component\httpfoundation\request;  class cowscontroller extends controllerbase {     public function autocomplete(request $request)     {       $matches = [];       $string = $request->query->get('q');        $query = \drupal::database()->select('node__field_name', 'fn');       $query->fields('fn', ['field_name_value', 'entity_id']);       $query->addfield('fg', 'field_gender_value');       $query->join('node__field_gender', 'fg', 'fg.entity_id = fn.entity_id ');       $query->condition('fn.field_name_value', '%' . $string . '%', 'like');       $query->condition('fg.field_gender_value', array('bull','ox'), 'in');       $result = $query->execute();        foreach ($result $row) {         $matches[] = ['value' => $row->entity_id, 'label' => $row->field_name_value];       }        return new jsonresponse($matches);     } } 

Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -