Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Laravel 5 AnythingValueException phản hồi truy vấn do sử dụng dữ liệu POINT

Tôi nghĩ tôi nên đặt thêm câu hỏi trước khi đăng câu trả lời này, nhưng tôi nghĩ bạn đang làm sai thứ tự.

public function rentals($id)
{
    // Retrieve all rentals within a region and the locations spatial data
    $rentals = DB::table('rentals')
                 ->join('regions', 'rentals.region_id', '=', 'regions.id')
                 ->join('rental_locations', 'rentals.rental_location_id', '=', 'rental_locations.id')
                 ->select('*')
                 ->where('rentals.region_id', '=', $id)
                 ->groupBy('rental_location_id')
                 ->get();


    return collect($rentals); // or return $rentals
/* Not necessary
    // Create a collection from the array of query results
    $rentals = collect($rentals);


    // Laravel is set up to return collections as json when directly returned
    return $rentals;
*/
}

Vì vậy, bạn cần thêm groupBy của mình trong chính truy vấn vì đó là hành động truy vấn mà SQL của bạn phải thực hiện. Phần khác là khi bạn chuyển đổi nó thành một bộ sưu tập (không cần thiết 100%), bạn chỉ có thể trả lại nó. Laravel xử lý JSON nguyên bản.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết quả SQL MIN và MAX có thêm toán tử DISTINCT trong MySQL

  2. Hibernate-envers ném ngoại lệ khi Xóa thực thể có bộ sưu tập bằng CrudRepository

  3. Tính toán sự khác biệt trên hàng ngày giờ đặt cược giữa các hàng trên cùng một bảng

  4. 1318 - Số lượng đối số không chính xác cho PROCEDURE

  5. JSON_DEPTH () - Tìm độ sâu tối đa của tài liệu JSON trong MySQL