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[
0
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,
]
];
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[];
0Sử dụng Where In với một mảng
$user = DB::table['users']->where['name', 'John']->first[];
1Sử dụng Where Null để tìm bản ghi với giá trị chưa đặt
$user = DB::table['users']->where['name', 'John']->first[];
2Sắp xếp theo, theo nhóm và có
$user = DB::table['users']->where['name', 'John']->first[];
3Bù trừ & Giới hạn
$user = DB::table['users']->where['name', 'John']->first[];
4tham 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[];
5Tuyên bố tham gia trái
$user = DB::table['users']->where['name', 'John']->first[];
6Bạ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[];
7Nế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[];
8Nâ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[];
9Truy vấn trên sẽ tạo ra SQL sau
$name = DB::table['users']->where['name', 'John']->pluck['name'];
0Tồn tại báo cáo
$name = DB::table['users']->where['name', 'John']->pluck['name'];
1Truy vấn trên sẽ tạo ra SQL sau
$name = DB::table['users']->where['name', 'John']->pluck['name'];
2uẩ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'];
5Sử dụng các phương pháp tổng hợp
$name = DB::table['users']->where['name', 'John']->pluck['name'];
3biể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'];
6Sử dụng biểu thức thô
$name = DB::table['users']->where['name', 'John']->pluck['name'];
4phụ trang
Chèn bản ghi vào bảng
$name = DB::table['users']->where['name', 'John']->pluck['name'];
5Chè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'];
6Ghi 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'];
7cậ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'];
8Tăng hoặc giảm giá trị của một cột
$name = DB::table['users']->where['name', 'John']->pluck['name'];
9Bạn cũng có thể chỉ định các cột bổ sung để cập nhật
$roles = DB::table['roles']->lists['title'];
0xóa
Xóa các bản ghi trong một bảng
$roles = DB::table['roles']->lists['title'];
1Xóa tất cả các bản ghi khỏi một bảng
$roles = DB::table['roles']->lists['title'];
2Cắ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'];
4Phươ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'];
9khó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'];
6Truy 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'];
7Trong 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