Laravel 8 Eloquent updateOrCreate() 예제

원래 게시된 @https://codeanddeploy.com 방문하여 샘플 코드 다운로드: https://codeanddeploy.com/blog/laravel/laravel-8-eloquent-updateorcreate-example

이 포스트에서는 Laravel Eloquent updateOrCreate()의 사용법과 중요성에 대해 설명하겠습니다. 라라벨은 updateOrCreate()를 제공하여 레코드가 존재하는 경우 업데이트하고 레코드가 없으면 생성하도록 돕습니다. 이 방법을 사용하면 레코드가 존재하는지 수동으로 확인하고 없으면 업데이트한 다음 생성하지 않아도 됩니다. Laravel updateOrCreate()가 없고 Laravel updateOrCreate()가 있는 아래 예제는 아래를 참조하십시오.

Laravel updateOrCreate()가 없는 예




<?php

namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class PostsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $title = 'Post 38';
        $description = 'Description for post 38 - updated.';
        $body = 'Body for post 38.';

        $post = Post::where('title', $title)->first();

        if(is_null($post)) {
            $post = new Post([
                'title' => $title,
                'description' => $description,
                'body' => $body
            ]);
            $post->save();
        } else {
            $post->description = $description;
            $post->body = $body;
            $post->update();
        }

        print_r($post);die;
    }
}


Laravel updateOrCreate()의 예




<?php

namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class PostsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $post = Post::updateOrCreate([
            'title' => 'Post 3'
        ], [
            'description' => 'Description for post 3.',
            'body' => 'body for post 3 - updated.'
        ]);

        print_r($post);die;
    }
}


위의 코드에서 볼 수 있듯이 업데이트 또는 생성에 대해 동일한 기능을 갖지만 Laravel updateOrCreate() 메소드 구현으로 코드를 단축합니다.

이 튜토리얼이 도움이 되었으면 합니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/laravel/laravel-8-eloquent-updateorcreate-example를 방문하십시오.

행복한 코딩 :)

좋은 웹페이지 즐겨찾기