Giống như Laravel 9

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

Bài viết này sẽ hướng dẫn bạn cách sử dụng các truy vấn select like trong ứng dụng Laravel

Về lý thuyết, Laravel hùng hồn cung cấp một trình xây dựng truy vấn giúp chúng ta xử lý tình huống đó trong MySQL. Điều này khá đơn giản để sử dụng, hoặc bạn có thể nói là không có trí tuệ

“Trình tạo truy vấn” xứng đáng được hoan nghênh nhiệt liệt. Nó có thể hỗ trợ bạn viết truy vấn Like trong Laravel và hãy nhớ rằng nó được sử dụng với điều kiện Where

Giống như truy vấn, Laravel Eloquent chủ yếu được sử dụng để tìm kiếm giá trị cụ thể của cột được chọn trong bảng

Do đó, bạn có thể sử dụng một trong các phương pháp được liệt kê bên dưới

1. Điều kiện WHERE với Like Query trong Laravel với Query Builder

Tôi sẽ cho bạn một ví dụ. hãy tưởng tượng bạn có một vài giá trị quốc gia trong bảng cho các quốc gia (Mỹ, Anh, Pháp và Trung Quốc). Và bạn muốn loại trừ giá trị của Pháp

namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
class CountryController extends Controller

public function index()

$term = 'France';
$filterData = DB::table('countries')->where('name','LIKE','%'.$term.'%')
->get();

print_r($filterData);

2. Like Truy vấn với Laravel Model

Chúng ta cũng có thể sử dụng mô hình laravel để thực hiện Like Query với mệnh đề Where;

Trong Laravel 9, khi chúng ta cần sắp xếp bộ sưu tập dữ liệu của mình theo thứ tự giảm dần hoặc tăng dần từ cơ sở dữ liệu. Sau đó, chúng ta cần sử dụng một orderBy trong truy vấn Laravel. Trong các truy vấn MySQL thông thường, chúng tôi sử dụng nó như hình dưới đây

Chọn * từ 'bộ sưu tập' trong đó 'trạng thái' = ‘something’ order by ‘collection_id asc

Tuy nhiên, Laravel có một cách khác để gán như sau

->orderBy( 'collection_id' ,< ‘asc’)

Yêu cầu dự án được đưa ra dưới đây

  • mysql 8. 0+
  • MariaDB 10. 2+
  • PHP8. 1

Dưới đây là một ví dụ về việc xác định truy vấn orderBy

  1. Quy trình1. Tạo đơn hàngBy Project
  2. quy trình 2. kết nối cơ sở dữ liệu
  3. Quy trình 3. Áp dụng phương thức orderBy
  4. quy trình 4. Chạy và kiểm tra dự án orderBy

quy trình 1. Tạo một dự án OrderBy

Bây giờ, chúng ta cần chạy lệnh này để tạo dự án này

Tạo nhà soạn nhạc - dự án Laravel / Laravel orderByProject<

Giống như Laravel 9

quy trình 2. kết nối cơ sở dữ liệu

Mở. env trên dự án orderByProject và thêm chi tiết cơ sở dữ liệu mới

Đây là đoạn mã sau

DB_CONNECTION =mysql
DB_HOST =127. 0 . 0 . 1
DB_PORT =3306
DB_DATABASE =Database name
DB_USERNAME=Database user name
DB_PASSWORD=Database password

Kiểm tra hình ảnh sau đây

Giống như Laravel 9

Quy trình 3. Áp dụng phương thức orderBy

Trước khi chúng tôi áp dụng orderBy cho dự án của mình, chúng tôi sẽ cần tạo một bảng cơ sở dữ liệu cho cơ sở dữ liệu của mình. Để làm được điều đó, chúng ta sẽ tạo một bảng có tên là “CollectionList”. Chúng ta phải chạy lệnh sau để tạo bảng

thủ công làm bằng php . modelCollectionList - m

Mã được cung cấp dưới đây

trả lại mới lớp mở rộng Di chuyển
{

    public function up()
    {
Schema::tạo('collection_lists', function (Blueprint $table) {
            $table->id();  //auto increment
            $table->timestamps();
        });
    }

    public function down()
    {
Schema::dropIfExists('collection_lists');
    }
};

Tôi cần thêm hai cái này vào đoạn mã sau

$table - > chuỗi ('name')->nullable();
$table->longText('details')->nullable();

Giống như Laravel 9

Hãy di chuyển dữ liệu vào cơ sở dữ liệu. Chạy lệnh sau

nghệ nhân php di chuyển

Tiếp theo, tạo bộ điều khiển để quản lý chức năng với truy vấn

Ở đây, chúng tôi đã tạo một bộ điều khiển có tên là “CollectionList” cho dự án OrderBy của chúng tôi. Chúng ta cần chạy lệnh này để tạo dự án sau

thủ công làm bằng php . danh sách bộ điều khiển

Mã sẽ trông như thế này

không gian tên Ứng dụng\Http\Bộ điều khiển;

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class CollectionList extends Controller
{
    //
}

Bây giờ, tôi cần tạo một chức năng trong bộ điều khiển

Tên hàm isallCollection

Giống như Laravel 9

Sau khi thêm chức năng này, nó sẽ trông như sau

không gian tên Ứng dụng\Http\Bộ điều khiển;orderBy("id",

namespace App\Http\Controllers;

use App\Models\CollectionList as ModelsCollectionList;
use Illuminate\Http\Request;

class CollectionList extends Controller
{
    public function allCollection()
    {
        $alldata = ModelsCollectionList::orderBy("id", "asc")->get();

        return view('welcome',compact('alldata'));
    }
}

Đối với phương thức get(), chúng ta cần sử dụng dữ liệu theo thứ tự tăng dần

    $alldata = ModelsCollectionList. orderBy ("id" , "asc")->
get();

Để lấy dữ liệu theo thứ tự giảm dần, chúng ta cần sử dụng như sau

    $alldata = ModelsCollectionList. orderBy ("id" , "desc")->get();

Thêm chế độ xem trong thư mục resource\View có tên chào mừng. lưỡi. php

< html >

< đầu >
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<liên kết href ="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel ="biểu định kiểu" id ="bootstrap-css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js">
< script src ="//code.jquery.com/jquery-1.11.1.min.js">