Article View: pl.comp.lang.ruby
Article #817Re: RoR vs PHP
From: Maciej Piechotka
Date: Mon, 31 Dec 2007 23:49
Date: Mon, 31 Dec 2007 23:49
104 lines
3633 bytes
3633 bytes
On Mon, 31 Dec 2007 18:51:15 +0000, Jaroslaw Zabiello wrote: > On Mon, 31 Dec 2007 18:02:08 -0000, Maciej Piechotka > <uzytkownik2@gmail.com> wrote: > >> Chodzi o czy takie klasy: >> >> +--------+ >> | Parent | >> +--------+ >> | pole1 | >> +--------+ >> ^ >> \------------\ >> | | >> +--------+ +--------+ >> | Child1 | | Child2 | >> +--------+ +--------+ >> | pole2 | | pole3 | >> +--------+ +--------+ >> >> Będzie odwzorowane przez: >> - 1 tabele Parent z pole1, pole2, pole3 i pole oznaczające typ - 3 >> tabele: Parent z pole1, Child1 z pole1 i pole2 oraz Child2 pole1 i >> pole3 >> - 3 tabele: Parent z pole1, Child1 z pole2 i parent_id oraz Child2 z >> pole3 i parent_id > > Nie wiem czy dobrze cię rozumiem. Mogłbyś podać pełną strukturę tabel i > to jakie chciałbyś mieć powiązania między klasami ORM? Chodzi mi o jakiś > przykład wywołania. Np. czy w pkt 1 chodzi o to aby mozna bylo mieć coś > takiego? > > Parent.pole1 (pobrane z Parent.pole1) Parent.pole2 > Parent.pole3 (pobrane z Child2.pole3) > > Te dwa kolejne nie rozumiem. class Parent attr_accessor :pole_parent end class Child1 < Parent attr_accessor :pole1 end class Child2 < Parent attr_accessor :pole2 end Rozwiązanie nr1(W rails): CREATE TABLE parents ( id INTEGER PRIMARY KEY AUTO_INCREMENT, type STRING NOT NULL, /* 'Parent', 'Child1' albo 'Child2' */ pole_parent STRING, pole1 STRING, pole2 STRING ); Rozwiązanie nr2: CREATE TABLE parents ( id INTEGER PRIMARY KEY AUTO_INCREMENT, pole_parent STRING ); CREATE TABLE childs1 ( id INTEGER PRIMARY KEY AUTO_INCREMENT, pole_parent STRING, pole1 STRING ); CREATE TABLE childs2 ( id INTEGER PRIMARY KEY AUTO_INCREMENT, type STRING NOT NULL, pole_parent STRING, pole2 STRING ); Rozwiązanie nr 3: CREATE TABLE parents ( id INTEGER PRIMARY KEY AUTO_INCREMENT, pole_parent STRING ); CREATE TABLE childs1 ( parent_id INTEGER PRIMARY KEY, pole1 STRING, CONSTRAINT childs1_parent_id FOREIGN KEY ); CREATE TABLE childs2 ( parent_id INTEGER PRIMARY KEY, pole2 STRING, CONSTRAINT childs2_parent_id FOREIGN KEY ); Pozdrawiam -- I've probably left my head... somewhere. Please wait untill I find it. Homepage (pl_PL): http://uzytkownik.jogger.pl/ (GNU/)Linux User: #425935 (see http://counter.li.org/)
Technical Details
Message-ID:
<3pbo45-ha7.ln1@router.piechotka.com.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!nnrpd.internetia.plReferences:
<fl6ahk$m1q$1@inews.gazeta.pl> <op.t351icnsr2rg33@jzmbp.local> <fl93bh$d8p$1@inews.gazeta.pl> <r4il45-1ar.ln1@router.piechotka.com.pl> <op.t358bkfwr2rg33@jzmbp.local> <fl9aau$9b9$5@inews.gazeta.pl> <20071231084648.6d47feda.gryf_esm-no@spam-o2.pl> <op.t37dq3ydr2rg33@jzmbp.local> <0enn45-u25.ln1@router.piechotka.com.pl> <op.t37qnpdrr2rg33@jzmbp.local>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!nnrpd.internetia.pl From: Maciej Piechotka <uzytkownik2@gmail.com> Newsgroups: pl.comp.lang.ruby Subject: Re: RoR vs PHP Date: Tue, 1 Jan 2008 00:49:24 +0100 Organization: Netia S.A. Lines: 105 Message-ID: <3pbo45-ha7.ln1@router.piechotka.com.pl> References: <fl6ahk$m1q$1@inews.gazeta.pl> <op.t351icnsr2rg33@jzmbp.local> <fl93bh$d8p$1@inews.gazeta.pl> <r4il45-1ar.ln1@router.piechotka.com.pl> <op.t358bkfwr2rg33@jzmbp.local> <fl9aau$9b9$5@inews.gazeta.pl> <20071231084648.6d47feda.gryf_esm-no@spam-o2.pl> <op.t37dq3ydr2rg33@jzmbp.local> <0enn45-u25.ln1@router.piechotka.com.pl> <op.t37qnpdrr2rg33@jzmbp.local> NNTP-Posting-Host: 77-253-118-2.adsl.inetia.pl Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1199145616 21022 77.253.118.2 (1 Jan 2008 00:00:16 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Tue, 1 Jan 2008 00:00:16 +0000 (UTC) X-Tech-Contact: usenet@internetia.pl X-Orig-Path: router.piechotka.com.pl!news User-Agent: Pan/0.132 (Waxed in Black) X-Server-Info: http://www.internetia.pl/news/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit