Laravel 8 Eloquent firstOrNew() 예제

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

이번 포스트에서는 Laravel Eloquent firstOrNew()의 사용법과 그 중요성에 대해 설명하겠습니다. Laravel은 firstOrNew()를 제공하여 주어진 속성으로 데이터베이스의 레코드를 확인하는 데 도움을 줍니다. 그러나 모델을 찾지 못하면 새 인스턴스가 반환됩니다.

참고: firstOrNew에서 반환한 해당 모델은 아직 데이터베이스에 저장되지 않았습니다. 저장하려면 수동으로 save() 메서드를 추가해야 합니다.

Laravel이 없는 예 firstOrNew()




<?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 41';
        $post = Post::where('title', $title)->first();

        if (is_null($post)) {
            $post = new Post(['title' => $title]);
        }

        $post->description = 'Description for post 41.';
        $post->body = 'Body for post 41.';

        $post->save();

        print_r($post); die;
    }
}


Laravel firstOrNew() 예제




<?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::firstOrNew([
            'title' => 'Post 41'
        ]);

        $post->description = 'Description for post 44.';
        $post->body = 'Body for post 41.';

        $post->save();

        print_r($post);die;
    }
}


Laravel firstOrNew() 메서드를 사용하여 위의 두 예제 사이에서 볼 수 있듯이 반환된 인스턴스가 null인지 추가 검사가 필요하지 않습니다.

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

행복한 코딩 :)

좋은 웹페이지 즐겨찾기