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

Doctrine2:Không thể chọn thực thể thông qua các biến nhận dạng mà không chọn ít nhất một bí danh thực thể gốc

Vấn đề của bạn là bạn đang cố gắng chọn một trường từ thực thể Danh mục trong khi chọn đồng thời toàn bộ đối tượng của thực thể Danh mục đã kết hợp. Không giống như SQL thuần túy, với thành phần QueryBuilder, bạn không thể chọn một thực thể chỉ từ bảng bạn đang tham gia.

Nếu bạn đang tìm cách trả về đối tượng Danh mục chính của mình với các phần tử con đã tham gia, bạn có thể thực hiện ->select(array('c', 'cc')) hoặc đơn giản là bỏ qua ->select() gọi hoàn toàn. Trước đó sẽ tự động chọn những cái bạn cần trong một truy vấn duy nhất. Sau này sẽ yêu cầu một truy vấn SQL khác nếu bạn muốn truy cập các phần tử con trên thực thể Danh mục chính.

Nếu có lý do bạn muốn name để chọn làm title trong đối tượng của mình, bạn luôn có thể thêm một hàm khác vào thực thể của mình, đó là bí danh để truy xuất tên thay vì phải viết nó trong truy vấn của bạn:

function getTitle()
{
    return $this->getName();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Meteor with mysql

  2. Làm cách nào để tạo một truy vấn mysql liên tục làm mới trong PHP?

  3. Đếm số hàng riêng biệt cho nhiều giá trị

  4. MySQL SELECT only not null value

  5. Kích hoạt MySQL Before Delete để tránh xóa nhiều hàng