2012-10-18 39 views
25

Tôi có hai thực thể: Người dùng và Người.Symfony2: lấy id của đối tượng đã tồn tại

Trong thực thể Người dùng tôi cần id của người được liên kết: user_id.

Khi tôi tạo người dùng mới, tôi phải tạo người đầu tiên và sau đó là người dùng. Trong người dùng, tôi phải đặt id của người tương ứng và cho rằng tôi cần để có được id của người đối tượng kiên trì đó là một gia tăng tự động.

Có thể nhận được id của đối tượng sau:

$em->persist($person); 
$em->flush(); 

Và làm thế nào tôi có thể làm điều này?

Cách khác là tìm kiếm id lớn nhất đó là bảng Person và thực hiện việc này nhưng tôi nghĩ rằng nên có một phương pháp tốt hơn và dễ dàng hơn để lấy id của đối tượng được tiếp tục tồn tại.

Trong php ví dụ, khi tôi thực hiện

$articleID = $_DB->queryRaw((....); 

Tôi nhận được id như thế.

Trả lời

39

Symfony2 with Doctrine làm ORM mặc định sẽ tự động tạo ID sau khi dữ liệu được lưu trữ trong cơ sở dữ liệu. Vì vậy, bạn có thể gọi ID bằng cách ->getId()

$id = $person->getId(); 
+0

Cảm ơn bạn @ HHabibillah, công trình này. Điều duy nhất: không có var trong php, chỉ $ id = $ person-> getId(); Nếu bạn có thể chỉnh sửa, vui lòng và tôi sẽ chấp nhận câu trả lời của bạn. –

+0

Cảm ơn bạn đã chỉnh sửa. Tôi có chỉnh sửa là một cú pháp chính xác. – Habibillah

+2

Cảm ơn bạn, tôi sẽ chấp nhận câu trả lời trong 1h, bây giờ tôi đã khởi chạy. –

Các vấn đề liên quan