Không giống Laravel ở đâu

Khi bạn đặt biểu mẫu tìm kiếm trong ứng dụng của mình, bạn cần sử dụng truy vấn like để nhận mẫu phù hợp. Truy vấn LIKE được sử dụng trong mệnh đề WHERE để tìm kiếm một mẫu cụ thể trong một cột. Bạn có thể sử dụng từ khóa THÍCH MySQL và ký tự đại diện % với mệnh đề where

Trong laravel, sử dụng phương pháp hùng biện whereLike[], bạn có thể triển khai laravel ở đâu như truy vấn tìm kiếm, laravel ở đâu như nhiều cột và bộ sưu tập laravel với vị trí như

ví dụ 1. Laravel nơi Like Query sử dụng với Eloquent Model

Bạn có thể sử dụng từ khóa THÍCH MySQL và ký tự đại diện % với mệnh đề where

Ví dụ sau đại diện, làm thế nào để sử dụng nó

public function index[]{
    $users = User::where['name','LIKE',"%{$search}%"]->get[];
    return $users;                
}

Khi bạn kết xuất truy vấn whereNull đã cho ở trên, bạn sẽ nhận được truy vấn SQL sau

SELECT * FROM `users` WHERE `name` LIKE '%search%';

đọc thêm. Laravel Multiple Where Ví dụ về điều kiện

ví dụ 2. Sử dụng macro với Like

Để xác định macro, bạn chỉ cần sử dụng phương thức tĩnh macro trên lớp mà bạn muốn xác định macro. Chúng ta cần xác định một macro cho lớp Eloquent, vì vậy chúng ta có thể mở rộng nó như thế này [trong phương thức khởi động của nhà cung cấp dịch vụ]

Builder::macro['whereLike', function[$column, $search] {
  return $this->where[$column, 'LIKE', "%{$search}%"];
}];

Cách chúng ta có thể sử dụng macro này bây giờ rất đơn giản

public function index[]{
  return User::whereLike['username', $username]
   ->whereLike['email', $email]
   ->get[];
}

ví dụ 3. Laravel whereLike với nhiều cột sử dụng macro

nếu bạn muốn tìm kiếm với nhiều cột thì bạn phải mở rộng macro này để hỗ trợ nhiều cột

Builder::macro['whereLike', function[$columns, $search] {
  $this->where[function[$query] use [$columns, $search] {
    foreach[\Arr::wrap[$columns] as $column] {
      $query->orWhere[$column, $search];
    }
  }];
 
  return $this;
}];

Vì vậy, bây giờ, nếu chúng ta chuyển một cột [sử dụng hàm array_wrap, chúng ta sẽ chuyển đổi nó thành một mảng] và tìm kiếm cột đó, nhưng nếu chúng ta thêm nhiều cột vào một mảng thì chúng ta lặp qua tất cả các cột đó và tìm kiếm cụm từ tìm kiếm trong tất cả . Mọi thứ được gói gọn trong một truy vấn where vì chúng tôi không muốn truy vấn 

SELECT * FROM `users` WHERE `name` LIKE '%search%';
0 làm rối tung bất kỳ truy vấn where khác mà chúng tôi có thể thực hiện trên mô hình Eloquent

Bạn có thể sử dụng macro này ngay bây giờ như thế này

public function index[]{
 return User::whereLike[['username', 'email'], $search]->get[];
}

Cảm ơn bạn đã đọc bài viết này

đọc thêm. Cách gửi yêu cầu XÓA bằng cURL

Nếu bạn muốn quản lý Máy chủ VPS / VM của mình mà không cần chạm vào dòng lệnh, hãy truy cập vào liên kết này. ServerAvatar cho phép bạn thiết lập nhanh các trang web WordPress hoặc PHP tùy chỉnh trên VPS / VM chỉ trong vài phút. Bạn có thể lưu trữ nhiều trang web trên một VPS / VM, định cấu hình chứng chỉ SSL và theo dõi tình trạng của máy chủ mà không cần chạm vào giao diện dòng lệnh

Nếu bạn có bất kỳ thắc mắc hoặc nghi ngờ nào về chủ đề này, vui lòng liên hệ với chúng tôi. Chúng tôi sẽ cố gắng liên lạc với bạn

Khi bạn đặt biểu mẫu tìm kiếm trong ứng dụng của mình, bạn cần sử dụng truy vấn like để nhận mẫu phù hợp. Truy vấn LIKE được sử dụng trong mệnh đề WHERE để tìm kiếm một mẫu được chỉ định trong một cột. Bạn có thể sử dụng từ khóa LIKE MySQL và ký tự đại diện % với mệnh đề where

Trong laravel, sử dụng phương thức hùng hồn whereLike[], bạn có thể triển khai laravel where like truy vấn tìm kiếm, laravel where like nhiều cột và bộ sưu tập laravel với where like

ví dụ 1. Laravel nơi Like Query sử dụng với Eloquent Model

Bạn có thể sử dụng từ khóa LIKE MySQL và ký tự đại diện % với mệnh đề where

Ví dụ sau đại diện, làm thế nào để sử dụng nó

public function index[]{
    $users = User::where['name','LIKE',"%{$search}%"]->get[];
    return $users;                
}

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

Khi bạn kết xuất truy vấn whereNull đã cho ở trên, bạn sẽ nhận được truy vấn SQL sau

________số 8_______

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

ví dụ 2. Sử dụng macro với Like

Để xác định macro, bạn chỉ cần sử dụng phương thức tĩnh macro trên lớp mà bạn muốn xác định macro để. Chúng ta cần định nghĩa một macro cho lớp Eloquent, vì vậy chúng ta có thể mở rộng nó như thế này [trong phương thức khởi động của nhà cung cấp dịch vụ]

Builder::macro['whereLike', function[$column, $search] {
  return $this->where[$column, 'LIKE', "%{$search}%"];
}];

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

Cách chúng ta có thể sử dụng macro này bây giờ rất đơn giản

public function index[]{
  return User::whereLike['username', $username]
   ->whereLike['email', $email]
   ->get[];
}

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

ví dụ 3. Laravel whereLike với nhiều cột sử dụng macro

nếu bạn muốn tìm kiếm với nhiều cột thì bạn phải mở rộng macro này để hỗ trợ nhiều cột

Builder::macro['whereLike', function[$columns, $search] {
  $this->where[function[$query] use [$columns, $search] {
    foreach[\Arr::wrap[$columns] as $column] {
      $query->orWhere[$column, $search];
    }
  }];

  return $this;
}];

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

Vì vậy, bây giờ, nếu chúng ta chuyển một cột [sử dụng hàm array_wrap, chúng ta sẽ chuyển đổi nó thành một mảng] và tìm kiếm cột đó, nhưng nếu chúng ta thêm nhiều cột vào một mảng thì chúng ta lặp qua tất cả các cột đó và tìm kiếm cụm từ tìm kiếm trong tất cả . Mọi thứ được gói gọn trong một truy vấn where vì chúng ta không muốn truy vấn whereLike làm rối tung bất kỳ truy vấn where nào khác mà chúng ta có thể thực hiện trên Eloquent model

Khi nào sử dụng whereIn trong Laravel?

whereIn[] được sử dụng để kiểm tra xem cột có chứa giá trị từ mảng hoặc danh sách hay không . Về cơ bản, nó được sử dụng để khớp cột với danh sách các giá trị.

WhereNotIn là gì?

Điều đó đơn giản có nghĩa là bạn có một mảng các giá trị và bạn muốn bản ghi ngoại trừ các giá trị/bản ghi đó . bạn có thể chỉ cần chuyển một mảng vào hàm laravel whereNotIn[]. Với trình tạo truy vấn $users = DB. table['applications'] ->whereNotIn['id', [1,3,5]] ->get[]; .

Làm cách nào để sử dụng whereIn trong truy vấn Laravel?

Laravel cung cấp wherein[] để sử dụng truy vấn sql wherein. trong wherein[] chúng ta chỉ cần chuyển hai đối số một là tên cột và một đối số khác là mảng id hoặc bất kỳ thứ gì bạn muốn. Bạn có thể thấy cú pháp dưới đây về truy vấn trong đó trong laravel. whereIn[Coulumn_name, Array];

Truy vấn [] trong laravel là gì?

Trình tạo truy vấn cơ sở dữ liệu của Laravel cung cấp giao diện thuận tiện, trôi chảy để tạo và chạy các truy vấn cơ sở dữ liệu . Nó có thể được sử dụng để thực hiện hầu hết các hoạt động cơ sở dữ liệu trong ứng dụng của bạn và hoạt động hoàn hảo với tất cả các hệ thống cơ sở dữ liệu được Laravel hỗ trợ.

Chủ Đề