Laravel cập nhật nhiều bản ghi theo id

Ví dụ: giả sử chúng tôi đã thiết kế một phần mềm kiểm kê và phần mềm này đang được sử dụng trong sản xuất trong một năm và đạt 1.000.000 giao dịch

Đột nhiên, chúng tôi biết rằng chúng tôi đã không thêm VAT vào các giao dịch của mình. Đối với các giao dịch trong tương lai, nó khá dễ xử lý, có thể với một công cụ biến đổi

class Transaction extends Model { 
    public $vat = 0.20;

    public function setPriceAttribute($value) {
        $this->attributes['price'] += $value * $this->vat;
    }
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Hồ sơ trong tương lai là khá dễ dàng để đối phó với. Tuy nhiên, làm thế nào chúng ta sẽ chỉnh sửa 1 triệu bản ghi từ quá khứ

Để chỉnh sửa dữ liệu từ quá khứ, tôi thích tạo Seeder hơn

php artisan make:seeder AddVatToTransactions

Làm thế nào để không làm điều đó?

Laravel cập nhật nhiều bản ghi theo id

class AddVatToTransactions extends Seeder {

  public function run() 
  {
    $vat = 0.20;
    $transactions = Transaction::get();

    foreach ($transactions as $transaction) {
       $transaction->price += $transaction->price * $vat
       $transaction->save();
    }
  }
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tuy nhiên, chạy nó trong một vòng lặp 1 triệu và thực hiện một “giao dịch cơ sở dữ liệu” trong mỗi lần lặp của vòng lặp - không phải là một ý tưởng hay. (Cảnh báo spoiler. Nó sẽ đóng băng hệ thống của bạn 😀)

Hôm nay, chúng tôi muốn chia sẻ với các bạn cập nhật Laravel nhiều hàng với các giá trị khác nhau. Trong bài đăng này, chúng tôi sẽ giới thiệu cho bạn mảng cập nhật hùng hồn của laravel, hãy nghe về Cách cập nhật nhiều hàng với các ID khác nhau trong Laravel 6, chúng tôi sẽ cung cấp cho bạn bản demo và ví dụ để thực hiện. Trong bài đăng này, chúng ta sẽ tìm hiểu về laravel cập nhật nhiều hàng trong một truy vấn với một ví dụ

Laravel cập nhật nhiều hàng với các giá trị khác nhau

nội dung

Cũng nên đọc phần này 👉   Laravel Cập nhật nhiều bản ghi bằng Eloquent

Có những điều sau đây Đơn giản Giới thiệu về laravel cập nhật hùng hồn nhiều bảng Thông tin đầy đủ với ví dụ và mã nguồn

Vì tôi sẽ trình bày Bài đăng này bằng ví dụ Hoạt động trực tiếp để phát triển laravel cập nhật nhiều hàng có cùng giá trị, do đó, yêu cầu tính năng Cập nhật nhiều hàng với các giá trị cập nhật khác nhau được sử dụng cho ví dụ này như bên dưới

Hôm nay mình muốn hướng dẫn các bạn cập nhật nhiều dữ liệu trong laravel. Bài viết này sẽ triển khai cập nhật laravel cho nhiều bản ghi theo id. Mình xin chia sẻ bản cập nhật laravel nhiều hàng 1 mảng. Bài viết này sẽ đưa ra một ví dụ đơn giản về cập nhật nhiều dữ liệu trong laravel. Ở đây, Tạo một ví dụ cơ bản về cách cập nhật nhiều bản ghi trong laravel

Bạn có thể sử dụng ví dụ này với các phiên bản laravel 6, laravel 7, laravel 8 và laravel 9

Nếu bạn muốn cập nhật nhiều hàng trong laravel eloquent thì bạn có thể sử dụng where() với update(), whereIn() với update() phương thức của eloquent. Tôi đã thêm ba ví dụ đơn giản để cập nhật nhiều sản phẩm trong laravel eloquent. vì vậy hãy xem ví dụ từng cái một

Cập nhật nhiều bản ghi hoặc cột trong laravel;

Trong ứng dụng laravel, chúng tôi phải cập nhật nhiều bản ghi. Vì vậy, có rất nhiều eloquent có sẵn trong laravel cho việc này. Làm cách nào để cập nhật nhiều bản ghi hoặc cột bằng cách sử dụng where(), whereIn() và update() hùng hồn trong laravel

Cách cập nhật nhiều bản ghi trong Laravel

Có 3 cách đơn giản để cập nhật nhiều bản ghi hoặc cột trong ứng dụng laravel

  • Phương pháp 1 – Cập nhật nhiều bản ghi với Where()
  • Phương pháp 2 – Cập nhật nhiều bản ghi với WhereIn bằng Id
  • Phương pháp 3 – Cập nhật nhiều bản ghi với WhereIn() sử dụng Dữ liệu yêu cầu

Phương pháp 1 – Cập nhật nhiều bản ghi với Where()

Sử dụng phương pháp này, chúng ta có thể cập nhật nhiều bản ghi hoặc cột với chức năng hùng biện where() trong laravel

<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use App\Models\Post;
  
class PostController extends Controller
{
    /**
     * Write code on Method
     *
     * @return response()
     */
    public function index(Request $request)
    {
        Post::where("status", "publish")
                ->update(["status" => "draft"]);
  
        dd("Post updated successfully.");
    }
}

Phương pháp 2 – Cập nhật nhiều bản ghi với WhereIn bằng Id

Sử dụng phương pháp này, chúng ta có thể cập nhật nhiều bản ghi với whereIn() hùng hồn bằng cách sử dụng id trong laravel

<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use App\Models\Post;
  
class PostController extends Controller
{
    /**
     * Write code on Method
     *
     * @return response()
     */
    public function index(Request $request)
    {
        $ids = [40, 60, 15, 110];
  
        Post::whereIn("id", $ids)
                ->update([
                    'status' => 'draft',
                    'content' => 'this is first post'
                ]);
  
        dd("Posts updated successfully.");
    }
}

Phương pháp 3 – Cập nhật nhiều bản ghi với WhereIn() sử dụng Dữ liệu yêu cầu

Sử dụng phương pháp này, chúng tôi có thể cập nhật các bản ghi hoặc cột bằng cách sử dụng dữ liệu được yêu cầu trong laravel

<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use App\Models\Post;
  
class PostController extends Controller
{
    /**
     * Write code on Method
     *
     * @return response()
     */
    public function index(Request $request)
    {
        $ids = [40, 50, 55, 110];
  
        Post::whereIn("id", $ids)
                ->update($request->all());
  
        dd("Posts updated successfully.");
    }
}

Phần kết luận

Thông qua hướng dẫn này, chúng ta đã học cách cập nhật nhiều bản ghi hoặc cột bằng cách sử dụng id, loại, mảng hoặc các giá trị khác nhau trong laravel

Làm cách nào để cập nhật nhiều bản ghi trong laravel?

Có 3 cách đơn giản để cập nhật nhiều bản ghi hoặc cột trong ứng dụng laravel. .
Phương pháp 1 – Cập nhật nhiều bản ghi với Where()
Phương pháp 2 – Cập nhật nhiều bản ghi với WhereIn bằng Id
Phương pháp 3 – Cập nhật nhiều bản ghi với WhereIn() sử dụng Dữ liệu yêu cầu

Làm cách nào để cập nhật nhiều hàng trong Laravel 8?

Hãy thử như thế này. ĐB. table('data') ->where('category_id', '=', 1) ->update([ 'subject' => $request->get('subject') ?? null, 'grade' => $ . success('cập nhật thành công');

Làm cách nào để cập nhật nhiều bản ghi bằng hộp kiểm trong laravel?

Cấu trúc bảng. Tạo bảng người dùng. .
Cấu hình. Tạo cấu hình. .
Record List. Create a
which contains submit button for update selected records and to list records. .. .
Update Records. On submit loop on selected checkboxes ids if selected. .. .
đầu ra. Xem đầu ra
Phần kết luận

Làm cách nào để cập nhật ID của tôi trong laravel?

Cách chính xác duy nhất để lấy id của bản ghi được chèn hoặc cập nhật là truy vấn bản ghi đó bằng chính các điều kiện mà bạn đang sử dụng cho phần where của truy vấn (mảng đầu tiên)