Tôi đang cố truy xuất một hàng ngẫu nhiên bằng CakePHP 3.0 RC-1, tôi đã xem xét the docs.Làm thế nào để có được một hàng ngẫu nhiên trong CakePHP 3.0?
Sử dụng những gì tôi có từ CakePHP 2.X và đặt đó làm điểm bắt đầu để nhận hàng ngẫu nhiên trong CakePHP 3.0 RC-1. Tuy nhiên, điều này dường như không làm điều đó cho Miss Cake:
$result = $this->Game->find('all')
->order('rand()')
->limit(1);
Kết quả không có gì. Có dữ liệu trong cơ sở dữ liệu và tôi có thể truy xuất các bản ghi đơn. (Ie $ this-> Game-> get (20) hoạt động như nó cần).
Làm việc tốt cho tôi ... làm thế nào chính xác là bạn thử nghiệm cho một kết quả (chỉ cần gỡ lỗi '$ result' sẽ không thực hiện các truy vấn)? ps, cũng thử với ảnh chụp nhanh gần đây. – ndm
chỉ var_dump toàn bộ thực thể trò chơi $ trong Chế độ xem hoặc trong Trình điều khiển cho vấn đề đó. Đây là ảnh chụp nhanh dev gần đây nhất. – Coreus
Có bạn có nó, những gì bạn đang làm là bán phá giá một truy vấn, không phải là một kết quả. Bạn sẽ phải thực sự tìm nạp thứ gì đó đầu tiên, ví dụ bằng cách sử dụng 'first()' (bạn có thể bỏ qua 'limit()' sau đó). Xem ** http: //book.cakephp.org/3.0/en/orm/query-builder.html#the-query-object** – ndm