ООО "Солнечный Ветер" Ларионов Андрей Николаевич
Создатель проекта: ООО "Солнечный Ветер" Ларионов Андрей Николаевич
Создание компонента Поисковой строки на Laravel

Создание компонента Поисковой строки на Laravel


Автор: admin Дата: 2025-09-23 05:27:41

Цель сделать компонент с помощью команды php artisan make:component SearchData и далее делать типовую задачу по созданию поисковой системы. Пример на ларавел.
 
Конечно! Давай создадим компонент для поиска данных в Laravel, используя команду php artisan make:component SearchData. Я покажу тебе, как это сделать шаг за шагом, включая логику для поиска и пагинации.
 
1. Создание компонента
 
Сначала создадим компонент с помощью следующей команды:
 
php artisan make:component SearchData
 
Эта команда создаст два файла:
app/View/Components/SearchData.php — класс компонента.
resources/views/components/search-data.blade.php — представление компонента.
 
2. Логика компонента
Теперь откроем файл app/View/Components/SearchData.php и добавим логику для обработки поиска. Предположим, что мы ищем записи в модели Post.
 
namespace App\View\Components;
 
use App\Models\Post;
use Illuminate\View\Component;
use Illuminate\Support\Facades\Request;
 
class SearchData extends Component {
 
public $posts;
public $searchTerm;
public function __construct() {
$searchTerm = Request::get('search');
$this->searchTerm = $searchTerm;
// Выполняем поиск с пагинацией
$this->posts = Post::where('title', 'like', "%{$searchTerm}%")->orWhere('content', 'like', "% {$searchTerm}%")->paginate(10);
}
 
public function render() {
return view('components.search-data');
}
 
}
 
3. Создание представления компонента
Теперь откроем файл resources/views/components/search-data.blade.php и добавим HTML-код для отображения поисковой строки и результатов.
 
{{ $searchTerm }}
 
Поиск
 
@if($posts->count())
@foreach($posts as $post)
{{ $post->title }}
{{ $post->content }}
@endforeach
{{ $posts->links() }} @else
Нет результатов для "{{ $searchTerm }}"
@endif
 
4. Использование компонента в представлении
Теперь, чтобы использовать наш компонент, открой любое представление (например, resources/views/welcome.blade.php) и добавь следующий код:
 
5. Заключение
Теперь у тебя есть компонент поиска, который принимает строку поиска, выполняет запрос к базе данных и отображает результаты с пагинацией. Пользователь может вводить текст в поисковую строку, и результаты будут обновляться на основе введенного текста.
 
Не забудь, что для работы с моделью Post тебе нужно создать соответствующую миграцию и заполнить таблицу данными. Если у тебя есть дополнительные вопросы или требуется помощь с другими аспектами, дай знать!
Если вы считаете текст данного блога оскорбительным или некорректным, напишите об этом по адресу IntegralAL@mail.ru с URL-адресом блога. В теме письма пишите <Жалоба>, либо <Неккоректно>.

Теги блога:

Программирование
Web-программирование
GPT-chat
Назад к блогам