Laravel

Enregistrement dans la base de données

save méthode


namespace App\Http\Controllers;

use App\Post;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class PostController extends Controller
{
    public function store(Request $request)
    {
        // Valider la requête
...
        // Création d'une nouvelle instance de Post
        $post = new Post; 

        // Met le titre et le contenu qui provient du formulaire dans $post
        $post->title = $request->title; 
        $post->content = $request->content; 

        // Enregistrement dans la base de données
        $post->save();
    }
}

title et content sont les champs name du formulaire

create méthode

$post = App\Post::create(['title' => 'titre', 'content' => 'texte du post']);

Dans une méthode, on peut aussi enregistrer d'un coup tout le contenu de la requête qui provient d'un formulaire

public function store(Request $request)
{
    App\Post::create(request()->all());
}

Mise à jour d'un enregistrement


// Recherche l'article qui a l'id 1
$post = App\Post::find(1);

// On attribue un nouveau titre
$post->title = 'Nouveau titre';

// Enregistrement
$post->save()

Mise à jour de plusieurs enregistrements

Recherche des articles écrit avant le 1er janvier 2019 et qui sont actifs.

Mise à jour des articles afin de mettre active=0 pour les désactiver


App\Post::where('active', 1)
          ->where('created_at', '<', '2019-01-01')
          ->update(['active' => 0]);