Làm cách nào để sử dụng tạo hoặc cập nhật trong Laravel?

Tôi nghĩ tôi cũng nên thử một hướng dẫn về Laravel. Trên thực tế, không. Vấn đề là tôi đã gặp phải một vấn đề. Bạn biết rằng trở thành một lập trình viên có nghĩa là lười biếng. Trong ngữ cảnh của Laravel, trong khi làm việc trên bộ điều khiển cần phương thức tạo và cập nhật, đồng thời xem tài liệu, tôi đã tự hỏi tại sao chúng ta nên tạo hai biểu mẫu (khung nhìn) khác nhau cho hai phương thức

Nói ít, làm nhiều. Vì vậy, chúng ta hãy bắt tay vào công việc. Thông thường, hai phương thức mà biểu mẫu tạo và cập nhật xuất hiện là phương thức tạo () và chỉnh sửa (). Vì vậy, hãy để tôi chỉ cho bạn cách chúng trông như thế nào trong ví dụ của tôi

public function create()
{
	return view('companies.createupdate');
}

public function edit(Company $company)
{
	return view('companies.createupdate', ['company' => $company]);
}

Tôi đã giả định rằng vì bộ điều khiển là một loại tài nguyên của bộ điều khiển và vì tôi nhận được mô hình bên trong phương thức edit(), nên tôi sẽ gửi mô hình đến dạng xem biểu mẫu

Bây giờ, hãy nhìn vào dạng xem biểu mẫu…

@extends('layouts.app')

@section('content')

 
    @if (isset($company))    
    @method('PUT')     @else         @endif     @csrf      

@if (isset($company)) Edit @else Add @endif companie

     
                        @error('ticker')            
{{ $message }}
        @enderror      
     
                        @error('name')            
{{ $message }}
        @enderror      
     
             
   
 

Như bạn có thể thấy, tùy thuộc vào việc nhận biến công ty (mô hình), tôi đang gửi biểu mẫu url cụ thể của nó. Vì vậy, nếu chúng ta có một biến $company, chúng ta sẽ quyết định về biểu mẫu và cả việc chuyển hay không chuyển trường ẩn phương thức

@if (isset($company))
	
@method('PUT') @else @endif

Ngoài ra, tùy thuộc vào sự hiện diện của biến $company, chúng tôi quyết định đầu ra có thể là gì, bất kể chúng tôi nói về chuỗi đơn giản hay giá trị của đầu vào

@if (isset($company)) Edit @else Add @endif company

Giá trị của đầu vào ở đây đang sử dụng đầu vào cũ (đối với những lần biểu mẫu chưa vượt qua trình xác thực) hoặc, làm giá trị mặc định, giá trị được gửi từ $company. Hãy lưu ý ở đây về phần này

.. value="{{ old('ticker', $company->ticker ?? '') }}"

Điều quan trọng trước tiên là đảm bảo rằng chúng tôi có một giá trị, nếu không chúng tôi sẽ gặp sự cố khi tạo biểu mẫu

Có lẽ một ý tưởng hay ở đây cũng là đề cập đến các quy tắc xác thực. Vì vậy, đối với phương thức store() chúng ta có

Trong bài đăng này, tôi sẽ giải thích cách sử dụng Laravel 8 và 9 Eloquent updateOrCreate() và tầm quan trọng của nó. Laravel cung cấp updateOrCreate() để giúp chúng ta cập nhật bản ghi nếu có và tạo nếu chưa có. Phương pháp này giúp chúng ta không phải kiểm tra thủ công bản ghi có tồn tại không thì cập nhật nếu không thì tạo. Xem bên dưới để biết ví dụ của tôi bên dưới mà không có Laravel updateOrCreate() và với Laravel updateOrCreate()

 

Ví dụ không có Laravel updateOrCreate()

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;
    }
}

 

Ví dụ với Laravel updateOrCreate()

 'Post 3'
        ], [
            'description' => 'Description for post 3.',
            'body' => 'body for post 3 - updated.'
        ]);

        print_r($post);die;
    }
}

 

Như bạn có thể thấy từ đoạn mã trên, chúng tôi có cùng chức năng để cập nhật hoặc tạo nhưng với việc triển khai phương thức updateOrCreate() của Laravel, chúng tôi rút ngắn mã của mình

Làm cách nào để tạo hoặc cập nhật trong Laravel?

Sử dụng updateOrInsert() với DB Facade để cập nhật. Để sử dụng mặt tiền DB, bạn cần sử dụng lớp. sử dụng Chiếu sáng\Hỗ trợ\Mặt tiền\DB; . DB Facade là một công cụ xây dựng truy vấn được sử dụng trong Laravel. Sử dụng nó, bạn có thể thử tất cả các truy vấn SQL

Làm cách nào để cập nhật dữ liệu bằng Laravel?

Cập nhật dữ liệu vào cơ sở dữ liệu trong laravel 8 .
Bước 1. Lấy dữ liệu từ cơ sở dữ liệu trong chỉ mục. lưỡi. php tập tin trong đường dẫn sau. tài nguyên/lượt xem/sinh viên/chỉ mục. lưỡi. php
Bước 2. Tạo bản chỉnh sửa. lưỡi. php tập tin trong đường dẫn sau. tài nguyên/lượt xem/sinh viên/chỉnh sửa. lưỡi. php để chỉnh sửa và cập nhật dữ liệu như sau

Tạo () trong Laravel là gì?

create() trong khi tạo phương thức, bạn truyền một mảng, thiết lập các thuộc tính trong mô hình và lưu trong cơ sở dữ liệu chỉ trong một lần .