2010-06-04 26 views
7

Tôi đã có 2 bàn trong một MySQL DB, im sử dụng học thuyết 1.2 và symfony 1.4.4DQL Query không

Installedbase và tùng

Installedbase: 
ib_id 
app_id 
location 

Spare: 
spare_id 
app_id 
amount 

Bây giờ tôi muốn tham gia vào các bảng để hiển thị có bao nhiêu ứng dụng trong phụ tùng.

ví dụ:

$q = self::createQuery("l") 
->select('i.*, s.*') 
->from('InstalledBase i, Spare s') 
->execute(); 

return $q; 

thuyết biết có một mối quan hệ giữa các bảng trên các lĩnh vực APP_ID nhưng tôi nhận được lỗi

500 | Internal Server Error | Doctrine_Hydrator_Exception 
"Spare" with an alias of "s" in your query does not reference the parent component it is related to. 

yaml: http://pastey.net/137237 tôi không thể hình này ra, không ai biết là những gì học thuyết phàn nàn về?

+0

Vui lòng chỉnh sửa câu hỏi của bạn và hiển thị cho chúng tôi các phần có liên quan từ lược đồ của bạn, bao gồm cả các mối quan hệ. – richsage

+0

thực hiện http://pastey.net/137237 – iggnition

Trả lời

4
->from('InstalledBase i, i.Spare s') 

... "Phụ tùng" với bí danh "s" trong truy vấn của bạn không tham chiếu thành phần cha mẹ có liên quan đến.

Thêm một số tiêu chí khác vào truy vấn này để không trả lại mọi thứ từ cả hai bảng.

0

Do ngoại hình của nó, bạn chưa nói với Doctrine rằng 2 bảng đó có liên quan.

+0

Trong schema.yml của tôi, tôi đã thêm mối quan hệ một đến nhiều trên cả hai trường app_id, vì vậy nó nên biết. – iggnition