Làm cách nào để lấy một giá trị cột trong Laravel?

Index_key is safely applicable only in cases when corresponding values of this index are unique through over the array. Otherwise only the latest element of the array with the same index_key value will be picked up.

$records = array[
    array[
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
        'company_id' => 1,
    ],
    array[
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
        'company_id' => 1,
    ],
    array[
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
        'company_id' => 1,
    ],
    array[
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
        'company_id' => 2,
    ]
];

$first_names = array_column[$records, 'first_name', 'company_id'];
print_r[$first_names];
?>

The above example will output:

Array
[
    [1] => Jane
    [2] => Peter
]
?>

To group values by the same `index_key` in arrays one can use simple replacement for the `array_column` like below example function:

function arrayed_column[array $array, int|string $column_key, int|string $index_key] {
        $output = [];
        foreach [$array as $item] {
            $output[$item['index_key']][] = $item['column_key'];
        }

        return $output;
}

$first_names = arrayed_column[$records, 'first_name', 'company_id'];
print_r[$first_names];
?>

The output:

$records = array[
    array[
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
        'company_id' => 1,
    ],
    array[
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
        'company_id' => 1,
    ],
    array[
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
        'company_id' => 1,
    ],
    array[
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
        'company_id' => 2,
    ]
];
0

bài viết này sẽ cung cấp một số instance quan trọng nhất của laravel eloquent select single column to array. bạn có thể thấy laravel lấy các cột cụ thể từ bộ sưu tập. bạn có thể thấy laravel nhận giá trị một cột đơn giản nhất. Tôi sẽ tiết lộ cho bạn về cách lấy một cột từ cơ sở dữ liệu trong laravel eloquent. hãy bắt đầu với laravel, hãy lấy giá trị một cột hiệu quả nhất

bạn có thể xem ví dụ dưới đây về cách lấy một giá trị cột trong mảng bằng cách sử dụng phương thức eloquent của laravel lấy và nhổ. bạn có thể sử dụng ví dụ này với phiên bản laravel 6, laravel 7 và laravel 8


ví dụ 1

Mã điều khiển

toArray[];
          
        dd[$fruits];
    }
}

đầu ra

Mảng
[

[0] => Quả táo

[1] => Quả chuối

[2] => Nho

[3] => Ổi
]


ví dụ 2

Mã điều khiển

get[]->toArray[];
          
        dd[$fruits];
    }
}

đầu ra

Mảng
[
[0] => Mảng
[
[tên] => Quả táo
]
[1] => Mảng
[
[tên] => Chuối
]
[2] => Mảng
[
[tên] => Nho
]
[3] => Mảng
[
[tên] => Ổi
]
]

Tôi hy vọng nó sẽ giúp ích cho bạn, cảm ơn vì đã ghé thăm bài viết của tôi nếu bạn thích bài viết của tôi thì hãy chia sẻ với bạn bè và nền tảng xã hội của bạn

Trình tạo truy vấn cơ sở dữ liệu cung cấp giao diện thuận tiện, thông thạo để 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 trên tất cả các hệ thống cơ sở dữ liệu được hỗ trợ

Ghi chú. Trình tạo truy vấn của Laravel sử dụng liên kết tham số PDO xuyên suốt để bảo vệ ứng dụng của bạn khỏi các cuộc tấn công SQL injection. Không cần xóa các chuỗi được truyền dưới dạng ràng buộc

chọn

Lấy tất cả các hàng từ một bảng

$users = DB::table['users']->get[];

Truy xuất một hàng từ một bảng

$user = DB::table['users']->where['name', 'John']->first[];

Truy xuất một cột từ một hàng

$name = DB::table['users']->where['name', 'John']->pluck['name'];

Truy xuất danh sách các giá trị cột

$roles = DB::table['roles']->lists['title'];

Phương thức này sẽ trả về một mảng các chức danh vai trò. Bạn cũng có thể chỉ định cột khóa tùy chỉnh cho mảng được trả về

$roles = DB::table['roles']->lists['title', 'name'];

Chỉ định một mệnh đề chọn

$users = DB::table['users']->select['name', 'email']->get[];

$users = DB::table['users']->distinct[]->get[];

$users = DB::table['users']->select['name as user_name']->get[];

Thêm một mệnh đề chọn vào một truy vấn hiện có

________số 8_______

Sử dụng toán tử Where

$users = DB::table['users']->where['votes', '>', 100]->get[];

Hoặc Tuyên bố

$users = DB::table['users']

Sử dụng ở đâu giữa

$users = DB::table['users']

->whereBetween['votes', array[1, 100]]->get[];

Sử dụng Where Not Between

$user = DB::table['users']->where['name', 'John']->first[];

0

Sử dụng Where In với một mảng

$user = DB::table['users']->where['name', 'John']->first[];

1

Sử dụng Where Null để tìm bản ghi với giá trị chưa đặt

$user = DB::table['users']->where['name', 'John']->first[];

2

Sắp xếp theo, theo nhóm và có

$user = DB::table['users']->where['name', 'John']->first[];

3

Bù trừ & Giới hạn

$user = DB::table['users']->where['name', 'John']->first[];

4

tham gia

Trình tạo truy vấn cũng có thể được sử dụng để viết các câu lệnh nối. Hãy xem các ví dụ sau

Tuyên bố tham gia cơ bản

$user = DB::table['users']->where['name', 'John']->first[];

5

Tuyên bố tham gia trái

$user = DB::table['users']->where['name', 'John']->first[];

6

Bạn cũng có thể chỉ định các mệnh đề nối nâng cao hơn

$user = DB::table['users']->where['name', 'John']->first[];

7

Nếu bạn muốn sử dụng mệnh đề kiểu "where" trong phép nối của mình, bạn có thể sử dụng các phương thức

$roles = DB::table['roles']->lists['title'];

9 và

$roles = DB::table['roles']->lists['title', 'name'];

0 trên phép nối. Thay vì so sánh hai cột, các phương thức này sẽ so sánh cột với một giá trị

$user = DB::table['users']->where['name', 'John']->first[];

8

Nâng cao

Nhóm thông số

Đôi khi, bạn có thể cần tạo các mệnh đề where nâng cao hơn, chẳng hạn như "nơi tồn tại" hoặc các nhóm tham số lồng nhau. Trình tạo truy vấn của Laravel cũng có thể xử lý những điều này

$user = DB::table['users']->where['name', 'John']->first[];

9

Truy vấn trên sẽ tạo ra SQL sau

$name = DB::table['users']->where['name', 'John']->pluck['name'];

0

Tồn tại báo cáo

$name = DB::table['users']->where['name', 'John']->pluck['name'];

1

Truy vấn trên sẽ tạo ra SQL sau

$name = DB::table['users']->where['name', 'John']->pluck['name'];

2

uẩn

Trình tạo truy vấn cũng cung cấp nhiều phương pháp tổng hợp, chẳng hạn như

$roles = DB::table['roles']->lists['title', 'name'];

1,

$roles = DB::table['roles']->lists['title', 'name'];

2,

$roles = DB::table['roles']->lists['title', 'name'];

3,

$roles = DB::table['roles']->lists['title', 'name'];

4 và

$roles = DB::table['roles']->lists['title', 'name'];

5

Sử dụng các phương pháp tổng hợp

$name = DB::table['users']->where['name', 'John']->pluck['name'];

3

biểu thức thô

Đôi khi bạn có thể cần sử dụng biểu thức thô trong truy vấn. Các biểu thức này sẽ được đưa vào truy vấn dưới dạng chuỗi, vì vậy hãy cẩn thận để không tạo bất kỳ điểm chèn SQL nào. Để tạo một biểu thức thô, bạn có thể sử dụng phương thức

$roles = DB::table['roles']->lists['title', 'name'];

6

Sử dụng biểu thức thô

$name = DB::table['users']->where['name', 'John']->pluck['name'];

4

phụ trang

Chèn bản ghi vào bảng

$name = DB::table['users']->where['name', 'John']->pluck['name'];

5

Chèn bản ghi vào bảng có ID tăng tự động

Nếu bảng có id tăng tự động, hãy sử dụng

$roles = DB::table['roles']->lists['title', 'name'];

7 để chèn bản ghi và truy xuất id

$name = DB::table['users']->where['name', 'John']->pluck['name'];

6

Ghi chú. Khi sử dụng PostgreSQL, phương thức insertGetId mong đợi cột tăng tự động được đặt tên là "id"

Chèn nhiều bản ghi vào một bảng

$name = DB::table['users']->where['name', 'John']->pluck['name'];

7

cập nhật

Cập nhật các bản ghi trong một bảng

$name = DB::table['users']->where['name', 'John']->pluck['name'];

8

Tăng hoặc giảm giá trị của một cột

$name = DB::table['users']->where['name', 'John']->pluck['name'];

9

Bạn cũng có thể chỉ định các cột bổ sung để cập nhật

$roles = DB::table['roles']->lists['title'];

0

xóa

Xóa các bản ghi trong một bảng

$roles = DB::table['roles']->lists['title'];

1

Xóa tất cả các bản ghi khỏi một bảng

$roles = DB::table['roles']->lists['title'];

2

Cắt bớt một bảng

$roles = DB::table['roles']->lists['title'];

3

đoàn thể

Trình tạo truy vấn cũng cung cấp một cách nhanh chóng để "kết hợp" hai truy vấn với nhau

$roles = DB::table['roles']->lists['title'];

4

Phương thức

$roles = DB::table['roles']->lists['title', 'name'];

8 cũng có sẵn và có cùng chữ ký phương thức như

$roles = DB::table['roles']->lists['title', 'name'];

9

khóa bi quan

Trình tạo truy vấn bao gồm một vài hàm để giúp bạn thực hiện "khóa bi quan" trên các câu lệnh CHỌN của mình

Để chạy câu lệnh SELECT với "khóa chia sẻ", bạn có thể sử dụng phương thức

$users = DB::table['users']->select['name', 'email']->get[];

$users = DB::table['users']->distinct[]->get[];

$users = DB::table['users']->select['name as user_name']->get[];

0 trên một truy vấn

$roles = DB::table['roles']->lists['title'];

5

Để "khóa để cập nhật" trên câu lệnh SELECT, bạn có thể sử dụng phương thức

$users = DB::table['users']->select['name', 'email']->get[];

$users = DB::table['users']->distinct[]->get[];

$users = DB::table['users']->select['name as user_name']->get[];

1 trên một truy vấn

$roles = DB::table['roles']->lists['title'];

6

Truy vấn bộ đệm

Bạn có thể dễ dàng lưu trữ kết quả truy vấn bằng cách sử dụng phương pháp

$users = DB::table['users']->select['name', 'email']->get[];

$users = DB::table['users']->distinct[]->get[];

$users = DB::table['users']->select['name as user_name']->get[];

2 hoặc

$users = DB::table['users']->select['name', 'email']->get[];

$users = DB::table['users']->distinct[]->get[];

$users = DB::table['users']->select['name as user_name']->get[];

3

$roles = DB::table['roles']->lists['title'];

7

Trong ví dụ này, kết quả của truy vấn sẽ được lưu vào bộ đệm trong mười phút. Trong khi kết quả được lưu vào bộ nhớ đệm, truy vấn sẽ không được chạy đối với cơ sở dữ liệu và kết quả sẽ được tải từ trình điều khiển bộ đệm mặc định được chỉ định cho ứng dụng của bạn

Làm cách nào để lấy giá trị cột đơn trong laravel?

Chọn các cột cụ thể với Laravel Eloquent . $user = Người dùng. where['tên người dùng', 'bobbyiliev']->get[]; . pass it as an argument to the get[] method.

Làm cách nào để chỉ chọn một cột trong laravel?

Nếu bạn cần lấy một cột gọi pull trực tiếp trên một mô hình là cách hiệu quả nhất để truy xuất một cột từ tất cả các mô hình trong . Gọi get hoặc all trước khi nhổ sẽ đọc tất cả các mô hình vào bộ nhớ trước khi lấy giá trị.

Làm cách nào để tìm nạp một cột trong laravel?

Ở dòng 17, chúng ta tạo một hàm có tên là columnValue[] sử dụng phương thức plum[] . Ở dòng 18, chúng ta sử dụng phương thức plum[] để lấy các giá trị của cột có tên firstName trong bảng users. Trình tạo truy vấn table[] truy xuất tất cả người dùng trên bảng cơ sở dữ liệu. Kết quả chúng tôi nhận được từ truy vấn là một tập hợp.

Làm cách nào để tìm nạp một giá trị từ cơ sở dữ liệu trong laravel?

Trong ví dụ trên, chúng ta tạo một hàm getEmail[]. Bên trong hàm này, chúng ta lấy bảng bằng phương thức table[]. Tiếp theo, chúng tôi nhận được kết quả phù hợp với bản ghi mà chúng tôi đang tìm kiếm bằng cách sử dụng mệnh đề where[]. Cuối cùng, chúng ta sử dụng phương thức value[] để lấy giá trị và trả về

Chủ Đề