Laravel | Conceptos básicos del modelo elocuente

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:

  1. Crear y conectarse a una base de datos MySQL .
  2. 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();
    });
  3. Ahora ejecute el comando de migración para crear migraciones:
    php artisan migrate
  4. 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 {
        //
    }
  5. 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 {
        //
    }
  6. 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!";
      
        }
    }
  7. 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>
  8. 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');
  9. Ahora ejecute la aplicación Laravel usando el siguiente comando de Artisan:
    php artisan serve

Producción:

  1. Para la función de índice:
  2. Para función de inserción:

  3. Para la función de actualización:

  4. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *