Cho đến nay, tôi nghĩ rằng học thuyết không có cách chọn một hàng ngẫu nhiên. Vì vậy, tôi nghĩ tôi có một truy vấn để lấy số liệu của hàngDoctrine 2 Chọn ngẫu nhiên một hàng (Offset 0 hoặc 1 indexed)?
// pseudo code
$count = SELECT COUNT(i) FROM Item i WHERE ...
Sau đó, có một truy vấn thực để có được những mục sử dụng một ngẫu nhiên bù đắp từ PHP đưa vào setFirstResult
$item = (SELECT i FROM Item WHERE ...)->setMaxResults(1)->setFirstResult(rand(0, $count))->getSingleResult()
Câu hỏi là, tôi rand()
tôi có bắt đầu từ 0 hay 1 không? Sau đó kết thúc? $count
hoặc $count-1
?
Điều này có chọn một hàng ngẫu nhiên không? Hay bạn có nghĩa là kết quả đầu tiên bắt đầu từ 1? Vì vậy, để chọn một hàng ngẫu nhiên, tôi sẽ làm '-> setMaxResults (1) -> setFirstResult (rand (1, $ count))'? –
Tôi có nghĩa là kết quả đầu tiên là 1 và cuối cùng là tổng số – rkmax
Có lẽ bạn hiểu lầm tôi, tôi muốn một hàng * duy nhất * ngẫu nhiên –