Я не знаю, как поиск работает автоматически, но я кодировал для моего требования, и это работает нормально и дать некоторое представление, как вы можете это сделать.
Вы можете получить поисковый запрос, используя $request->get('search')['value']
, а теперь написать код, чтобы проверить, удовлетворяется ли ваше условие, и отфильтровать результаты в вашем контроллере или модели. Ниже приведен код для этого в Контроллере.
return DataTables::eloquent($videos)
->filter(function ($query) use ($request) {
if ($request->has('category') && ! is_null($request->get('category'))) {
$query->where('video_category', $request->get('category'));
}
if ($request->has('language') && ! is_null($request->get('language')) ) {
$query->where('video_language', $request->get('language'));
}
if ($request->has('search') && ! is_null($request->get('search')['value']) ) {
$regex = $request->get('search')['value'];
return $query->where('your_field', 'like', '%' . $regex . '%');
});
}
})->toJson();
Потратив день на эксперименты, я понял, как преобразовать этот код. Ключ настраивал привязки на прокси-сервере WCF, который VS2008 делает правильно.
Откройте App.config / Web.config и найдите раздел system.serviceModel. Измените режим безопасности на привязке мыла по умолчанию на TransportWithMessageCredential. Вот как мой файл выглядел после изменения:
Безопасность>
Связывание>
BasicHttpBinding>
Измените приведенный выше пример кода, чтобы он выглядел следующим образом
DimgrationFramework As New SoapClient ()
grationFramework.ClientCredentials.UserName.UserName = "имя пользователя"
grationFramework.ClientCredentials.UserName.Password = "пароль"
TransportWithMessageCredential эквивалентно политике UsernameOverTransportAssertion в WSE 3.0