laravel

Пример использования метода firstOrNew Laravel Eloquent

Эта запись посвящена методу laravel eloquent firstOrNew(). В Laravel eloquent есть полезный метод firstOrNew(), который позволяет найти и вернуть результат выборки базы данных. Если поиск не дал результатов выборки, то будет создан новый экземпляр объекта и сохранен в базе данных используя метод save() и последующим возвратом результата.

Без использования firstOrNew()

<?php
   
namespace App\Http\Controllers;
  
use App\Models\Product;
use Illuminate\Http\Request;
  
class ProductController extends Controller
{
    /**

     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $name = 'Platinum';
        $product = Product::where('name', $name)->first();
  
        if (is_null($product)) {
            $product = new Product(['name' => $name]);
        }
  
        $product->slug = 'platinum';
        $product->detail = 'test platinum';
  
        $product->save();
  
        dd($product);
    }
}

С использованием firstOrNew()

<?php
  
namespace App\Http\Controllers;
  
use App\Models\Product;
use Illuminate\Http\Request;
  
class ProductController extends Controller
{
    /**

     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $product = Product::firstOrNew(
            [ 'name' => 'Platinum' ],
            [ 'slug' => 'platinum', 'detail' => 'test platinum' ]
        );
        $product->save();
  
        dd($product);
    }
}
To top