Manual Técnico Carpeta Common
Documentación Técnica del Archivo MentorshipSearch.php
Español
¿Para qué es?
El archivo MentorshipSearch.php es un modelo de búsqueda que extiende el modelo Mentorship, diseñado para gestionar las búsquedas y filtrados en la vista de mentoría de la aplicación.
Definición de la Carpeta
Ubicación: common/models/MentorshipSearch.php
Contexto: Se encuentra en la carpeta de modelos comunes, proporcionando funcionalidad de búsqueda para el módulo de mentorías.
Propósito
- Gestionar búsquedas de mentorías
- Filtrar resultados de grid
- Proporcionar ordenamiento personalizado
- Manejar relaciones entre modelos
- Facilitar la búsqueda avanzada
Funciones Principales
- rules()
public function rules(){ return [ [['id', 'enrollment_id', 'user_id', 'created_by', 'updated_by'], 'integer'], [['created_at', 'updated_at'], 'safe'], [['user_username', 'user_email', 'course_title'], 'safe'], ];}- search($params)
public function search($params){ $query = Mentorship::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); // ... lógica de búsqueda}- searchIndex($params)
public function searchIndex($params){ $query = Mentorship::find(); $query->joinWith(['enrollment.user', 'enrollment.course']); // ... configuración de ordenamiento y filtros}Technical Documentation - MentorshipSearch.php File
English
What is it for?
The MentorshipSearch.php file is a search model that extends the Mentorship model, designed to manage searches and filtering in the mentorship view of the application.
Folder Definition
Location: common/models/MentorshipSearch.php
Context: Located in the common models folder, providing search functionality for the mentorship module.
Purpose
- Manage mentorship searches
- Filter grid results
- Provide custom sorting
- Handle model relationships
- Facilitate advanced searching
Main Features
Español
-
Atributos de Búsqueda
- user_username
- user_email
- course_title
- Campos de fecha y relaciones
-
Capacidades de Filtrado
- Filtros por usuario
- Filtros por curso
- Filtros por fecha
- Búsqueda relacional
English
-
Search Attributes
- user_username
- user_email
- course_title
- Date fields and relationships
-
Filtering Capabilities
- User filters
- Course filters
- Date filters
- Relational search
Ejemplo de Uso / Usage Example
Español
$searchModel = new MentorshipSearch();$dataProvider = $searchModel->searchIndex(Yii::$app->request->queryParams);
return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider,]);English
$searchModel = new MentorshipSearch();$dataProvider = $searchModel->searchIndex(Yii::$app->request->queryParams);
return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider,]);Consideraciones Técnicas / Technical Considerations
Español
- Implementa ActiveDataProvider para paginación
- Utiliza relaciones JOIN para búsquedas eficientes
- Permite ordenamiento personalizado
- Maneja validación de parámetros
- Soporta búsqueda en relaciones
English
- Implements ActiveDataProvider for pagination
- Uses JOIN relationships for efficient searches
- Allows custom sorting
- Handles parameter validation
- Supports relationship searching