任何人都可以幫我解決我做錯了什麼?服務器返回內部服務器錯誤500.它看起來我無法獲得控制器。任何人都可以解釋我的錯誤在哪裏?我認爲它在路由自動完成路徑中,但我不確定。如果它是我如何解決它? 非常感謝你,夥計們Drupal 8自定義自動完成錯誤500
我的表單自動完成表單元素:
$form['field_father'] = array(
'#title' => t('Father'),
'#type' => 'textfield',
'#autocomplete_route_name' => 'cows.autocomplete',
'#autocomplete_route_parameters' => array(),
);
模塊路由文件:
控制器代碼:
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 as $row) {
$matches[] = ['value' => $row->entity_id, 'label' => $row->field_name_value];
}
return new JsonResponse($matches);
}
}
非常感謝你太多
添加命名空間使用Symfony \ Component \ HttpFoundation \ Request;在你的Controller文件中。 – vishwa