Trường hợp của bạn đã được ghi rõ trên trang web symfony có tiêu đề "Cách tạo đối tượng từ Cơ sở dữ liệu hiện có "
Như tài liệu đã nêu:
Sử dụng lệnh sau (giả sử tên viết tắt của gói của bạn là GOutsideGOBundle )
Sau đó, bạn cần gọi.
Nếu bạn cần tạo các lớp thực thể với ánh xạ chú thích, thì bạn phải thực hiện lệnh sau trước doctrine:generate:entities
Đường dẫn chỉ nên là ./src thay vì ./src/GOutside/GOBundle/Resources/config/doctrine
Đã cập nhật:
Nếu mọi thứ đều đúng trong cấu hình của bạn thì gặp lỗi Database does not have any mapping information.
không chắc!! Tôi không chắc chắn về lỗi này. Nhưng theo lược đồ bảng cơ sở dữ liệu của bạn, có một số vấn đề sẽ ngăn bạn tạo thông tin ánh xạ.
- Bảng của bạn chứa loại đặc biệt điểm học thuyết nào không thể xử lý được.
- Bảng cơ sở dữ liệu của bạn có nhiều bảng mà không có bất kỳ khóa chính nào. Doctrine không hỗ trợ kỹ thuật đảo ngược từ các bảng không có khóa chính
Để giải quyết vấn đề (1), bạn có thể thêm ánh xạ tùy chỉnh trong phần cấu hình học thuyết của bạn. Ví dụ:để ánh xạ loại điểm dưới dạng chuỗi, bạn có thể viết:
doctrine:
dbal:
//Other connection parameters
mapping_types:
point: string
đối với vấn đề thứ hai, bạn cần xác định khóa chính cho các bảng đó, đó có thể là trường mới hoặc có thể là khóa chính tổng hợp.