Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Retrieving data from db with foreign keys

by CountZero (Bishop)
on Sep 07, 2015 at 16:01 UTC ( [id://1141272]=note: print w/replies, xml ) Need Help??


in reply to Retrieving data from db with foreign keys

You have to understand that a foreign key in a table is actually a so-called "constraint". In other words it limits the content of that field to something that already exists in the table the foreign key refers to. It does not automatically retrieve that corresponding info for you. You will have to do that yourself through your query.

One possible SQL statement is:

SELECT detail_tbl.detail, user_tbl.name, topic_tbl.topic FROM detail_tbl, user_tbl, topic_tbl WHERE detail_tbl.name_id = user_tbl.id AND detail_tbl.topic_id = topic_tbl.id

There are some modules that make handling foreign key fields somewhat easier. You may wish to have a look at DBIx::Class and more specifically DBIx::Class::Relationship that handles many-to-many relationships (which is what you are trying to do).

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

My blog: Imperial Deltronics

Replies are listed 'Best First'.
Re^2: Retrieving data from db with foreign keys
by acondor (Initiate) on Sep 07, 2015 at 16:26 UTC
    Thanks to all for replies. This is a great start.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1141272]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2024-04-25 15:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found