informatica:programacion:php:frameworks:laravel:eloquent_orm
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:php:frameworks:laravel:eloquent_orm [2025/03/31 15:38] – [Claves primarias] tempwin | informatica:programacion:php:frameworks:laravel:eloquent_orm [2025/04/01 09:55] (actual) – [Eloquent ORM (Laravel)] tempwin | ||
|---|---|---|---|
| Línea 5: | Línea 5: | ||
| Al usar Eloquent, cada tabla de la base de datos está asociada a un model que se usa para interactuar con dicha tabla. | Al usar Eloquent, cada tabla de la base de datos está asociada a un model que se usa para interactuar con dicha tabla. | ||
| + | * [[https:// | ||
| ===== Generación de clases para modelos ===== | ===== Generación de clases para modelos ===== | ||
| Línea 76: | Línea 77: | ||
| < | < | ||
| php artisan model:show Flight | php artisan model:show Flight | ||
| + | </ | ||
| + | |||
| + | ===== Obtener modelos ===== | ||
| + | |||
| + | Una vez creado el modelo y su tabla asociada, podemos obtener información de la base de datos. Eloquent es como un potente constructor de consultas para la tabla asociada al modelo. | ||
| + | |||
| + | Por ejemplo, obtener todos los registros de productos: | ||
| + | |||
| + | <code php> | ||
| + | use App\Models\Product; | ||
| + | |||
| + | foreach (Product:: | ||
| + | echo $product-> | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Construcción de consultas ==== | ||
| + | |||
| + | Si queremos aplicar criterios en las consultas: | ||
| + | |||
| + | <code php> | ||
| + | $products = Product:: | ||
| + | -> | ||
| + | -> | ||
| + | ->get(); | ||
| + | </ | ||
| + | |||
| + | ===== Insertar y actualizar modelos ===== | ||
| + | |||
| + | ==== Insertar ==== | ||
| + | |||
| + | Para añadir un registro a la base de datos, creamos una instancia del modelo y establecemos los atributos del modelo. Finalmente, llamamos al método '' | ||
| + | |||
| + | <code php> | ||
| + | <?php | ||
| + | namespace App\Http\Controllers; | ||
| + | |||
| + | use App\Models\Product; | ||
| + | use Illuminate\Http\RedirectResponse; | ||
| + | use Illuminate\Http\Request; | ||
| + | |||
| + | class ProductController extends Controller | ||
| + | { | ||
| + | /** | ||
| + | * Store a new product in the database. | ||
| + | */ | ||
| + | public function store(Request $request): RedirectResponse | ||
| + | { | ||
| + | // Validate the request... | ||
| + | $product = new Product; | ||
| + | $product-> | ||
| + | $product-> | ||
| + | |||
| + | return redirect('/ | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Como alternativa, | ||
| + | |||
| + | <code php> | ||
| + | use App\Models\Flight; | ||
| + | |||
| + | $product = Product:: | ||
| + | ' | ||
| + | ]); | ||
| + | </ | ||
| + | |||
| + | Sin embargo, para poder usar el método '' | ||
| + | |||
| + | ==== Actualizar ==== | ||
| + | |||
| + | El método '' | ||
| + | |||
| + | <code php> | ||
| + | use App\Models\Product; | ||
| + | |||
| + | $product = Product:: | ||
| + | |||
| + | $product-> | ||
| + | |||
| + | $product-> | ||
| + | </ | ||
| + | |||
| + | ==== Eliminar ==== | ||
| + | |||
| + | Para eliminar un modelo, llamamos a su método '' | ||
| + | |||
| + | <code php> | ||
| + | use App\Models\Product; | ||
| + | |||
| + | $product = Product:: | ||
| + | |||
| + | $product-> | ||
| + | </ | ||
| + | |||
| + | Si conocemos la clave primaria del modelo que queremos eliminar, no es necesario obtenerlo primero, bastaría con llamar a '' | ||
| + | |||
| + | <code php> | ||
| + | Flight:: | ||
| </ | </ | ||
| ===== Consultas SQL generadas ===== | ===== Consultas SQL generadas ===== | ||
informatica/programacion/php/frameworks/laravel/eloquent_orm.1743428280.txt.gz · Última modificación: por tempwin
