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();
}