Thread View: pl.comp.lang.ruby
2 messages
2 total messages
Started by Adam Koczur
Wed, 12 Sep 2007 11:29
struktura tabeli dla dokumentów magazynowych
Author: Adam Koczur
Date: Wed, 12 Sep 2007 11:29
Date: Wed, 12 Sep 2007 11:29
24 lines
1693 bytes
1693 bytes
Witam, Piszę w RoR aplikację do obsługi magazynu, a jestem bardzo początkujący jeśli chodzi o to środowisko. Mam takie modele: contractor - dostawca/odbiorca warehouse - magazyn document_type - typ dokumentu magazynowego transact - dokument magazynowy struktura tabeli transact wygląda z grubsza następująco: document_type_id number date contractor_id warehouse_id wszystko jest ok dla transakcji pomiędzy magazynem a kontrahentem, czyli np: WZ, PZ, ale dla przesunięcia międzymagazynowego potrzebne bedzie pola dla magazynu źródłowego i docelowego. Jak poprawnie zdefiniować zależności (i klucze obce) między modelami transact i warehouse? Chodzi o to, że warehouse_id jest automatycznie łączone z warehouses.id, a jak dodać kolejne pole wskazujące na warehouses.id (co wpisać przy has_many w modelu warehouse)? Z góry wielkie dzięki.
Re: struktura tabeli dla dokumentów magazynowych
Author: Jakub Kuźma
Date: Wed, 12 Sep 2007 18:02
Date: Wed, 12 Sep 2007 18:02
35 lines
2169 bytes
2169 bytes
Dnia Wed, 12 Sep 2007 11:29:20 +0000 (UTC)
Adam Koczur <adamkoczur@o2.pl> napisał(a):
> Jak poprawnie zdefiniować zależności (i klucze obce) między modelami
> transact i warehouse? Chodzi o to, że warehouse_id jest automatycznie
> łączone z warehouses.id, a jak dodać kolejne pole wskazujące na
> warehouses.id (co wpisać przy has_many w modelu warehouse)?
Można to zrobić zastępując generowane zapytanie napisanym ręcznie:
- w modelu Warehouse:
has_many :transactions,
:finder_sql 'SELECT w.* FROM warehouses w, transactions t' +
'WHERE w.id = t.warehouse1_id' +
'AND w.id = t.warehouse2_id'
- w modelu Transaction
belongs_to :warehouse1,
:foreign_key => 'warehouse1_id',
:class_name => 'Warehouse'
belongs_to :warehouse2,
:foreign_key => 'warehouse2_id',
:class_name => 'Warehouse'
Mam wrażenie, że za bardzo uogólniłeś te transakcje. Nie wiem np. w jaki
sposób będziesz oznaczał kierunek transakcji (a chyba to ważne).
Proponowałbym jeszcze raz wrócić do ERD i przeanalizować schemat bazy.
Nie mam czasu sprawdzać powyższego kodu, ale mam nadzieję, że coś Ci
się przyda. Pozdrawiam.
--
Jakub Kuźma
http://jah.pl/
JID oraz e-mail w domenie gmail.com, login - qoobaa
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads