Laravel es un framework PHP basado en MVC . En la arquitectura MVC, ‘ M ‘ significa ‘ Modelo ‘. Un modelo es básicamente una forma de consultar datos hacia y desde la tabla en la base de datos. Laravel proporciona una forma sencilla de hacerlo utilizando Eloquent ORM (Mapeo relacional de objetos) . Cada mesa tiene un Modelo para interactuar con la mesa.
Crear un modelo: para crear un modelo elocuente, Laravel proporciona un comando artesanal de la siguiente manera:
php artisan make:model Article
Después de ejecutar el comando anterior, se crea un archivo con el nombre Article.php en el directorio de la aplicación . El contenido del archivo se ve de la siguiente manera:
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Article extends Model { // }
Recuperar datos: para recuperar datos de la base de datos, podemos usar dos métodos como se describe a continuación:
- Aquí, el método all() devolverá todos los datos de la tabla en forma de array y los almacenará en la variable $articles .
public function index() { $articles = \App\Article::all(); return view('gfg')->with('articles', $articles); }
- También podemos obtener un registro en particular usando ‘ where() ‘ como se muestra a continuación:
public function index() { $articles = \App\Article::all()->where('id', 1); return view('gfg')->with('articles', $articles); }
Insertar datos: para insertar datos en la base de datos, utilizaremos el método save() como se muestra a continuación:
- Aquí, creamos un nuevo Artículo y lo almacenamos en la variable $articulo . El atributo topic y content se utilizan para almacenar los datos especificados en las columnas respectivas de la tabla. Y luego se usa el método ‘save()’ para insertar los datos en la base de datos. Luego se mostrará un mensaje exitoso si la inserción es exitosa.
public function insert() { $article = new Article; $article->topic = "View in Laravel"; $article->content = "View is the data display at the user end."; $article->save(); echo "Insert Successful!"; }
Nota: Los campos created_at y updated_at en la tabla se insertarán automáticamente con la marca de tiempo.
Actualizar datos: para actualizar los datos en la base de datos, volveremos a utilizar el método save() como se muestra a continuación:
- Aquí, el método find() se usa para especificar el registro que queremos actualizar en la base de datos. El número entre paréntesis es de id , es decir, clave principal. Ahora se le da un nuevo valor al campo de tema del registro que cambiará el anterior. Y luego se usa el método ‘ save() ‘ para insertar los datos en la base de datos. Luego se mostrará un mensaje exitoso si la actualización es exitosa.
public function update() { $article = \App\Article::find(1); $article->topic = "Laravel"; $article->save(); echo "Update Successful!"; }
Nota: El campo updated_at en la tabla se insertará automáticamente con la marca de tiempo.
Eliminar datos: para eliminar datos en la base de datos, usaremos el método delete() como se muestra a continuación:
- Aquí, el método find() se usa para especificar el registro que queremos eliminar de la base de datos. El número entre paréntesis es de id , es decir, clave principal. Luego se usa el método delete() . Luego se mostrará un mensaje exitoso si la eliminación es exitosa.
public function delete() { $article = \App\Article::find(1); $article->delete(); echo "Delete Successful!"; }
El siguiente ejemplo ilustra cada uno de ellos:
Ejemplo:
- Crear y conectarse a una base de datos MySQL .
- Crea una migración usando el siguiente comando de Artisan:
php artisan make:migration create_articles_table
Y luego escriba el siguiente código en la función up() en el archivo de migración creado en el directorio de base de datos/migraciones .
Schema::create('articles', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('topic'); $table->string('content'); $table->timestamps(); });
- Ahora ejecute el comando de migración para crear migraciones:
php artisan migrate
- Ahora cree un modelo usando el siguiente comando Artisan:
php artisan make:model Article
El archivo Article.php , que se crea en el directorio de la aplicación , debería tener el siguiente aspecto:
<?php
namespace
App;
use
Illuminate\Database\Eloquent\Model;
class
Article
extends
Model {
//
}
- Ahora crea un controlador usando el siguiente comando Artisan:
php artisan make:controller ArticleController
El archivo ArticleController.php , que se crea en el directorio app/Http/Controllers , debería tener el siguiente aspecto:
<?php
namespace
App\Http\Controllers;
use
Illuminate\Http\Request;
class
ArticleController
extends
Controller {
//
}
- Ahora, deberá cambiar el archivo del controlador como se muestra a continuación o copiar el código a continuación y pegarlo en el archivo del controlador que se creó en el paso anterior.
<?php
namespace
App\Http\Controllers;
use
App\Article;
use
Illuminate\Http\Request;
class
ArticleController
extends
Controller {
// Retrieve function
public
function
index() {
$articles
= \App\Article::all();
return
view(
'gfg'
)->with(
'articles'
,
$articles
);
}
// Insert function
public
function
insert() {
$article
=
new
Article;
$article
->topic =
"View in Laravel"
;
$article
->content =
"View is the data display at the user end."
;
$article
->save();
echo
"Insert Successful!"
;
}
// Update function
public
function
update() {
$article
= \App\Article::find(1);
$article
->topic =
"Laravel"
;
$article
->save();
echo
"Update Successful!"
;
}
// Delete function
public
function
delete
() {
$article
= \App\Article::find(1);
$article
->
delete
();
echo
"Delete Successful!"
;
}
}
- Ahora, cree una vista con el nombre ‘ gfg.blade.php ‘ en el directorio ‘resources/views’ y el siguiente código en ese archivo.
<!DOCTYPE html>
<
html
>
<
head
>
<
title
>GeeksforGeeks</
title
>
<
style
>
body {
font-size: 20px;
}
</
style
>
</
head
>
<
body
>
<
h2
>Articles Topics</
h2
>
<
ol
>
@foreach($articles as $article)
<
li
>{{ $article->topic }}</
li
>
@endforeach
</
ol
>
</
body
>
</
html
>
- Ahora, cree las rutas escribiendo lo siguiente en el archivo web.php en el directorio de rutas .
Nota: Comenta o elimina cualquier ruta anterior del archivo.
Route::get('/', 'ArticleController@index'); Route::get('/insert', 'ArticleController@insert'); Route::get('/update', 'ArticleController@update'); Route::get('/delete', 'ArticleController@delete');
- Ahora ejecute la aplicación Laravel usando el siguiente comando de Artisan:
php artisan serve
Producción:
- Para la función de índice:
- Para función de inserción:
- Para la función de actualización:
- Para la función Eliminar:
Referencia: https://laravel.com/docs/6.x/eloquent
Publicación traducida automáticamente
Artículo escrito por aakashpawar1999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA