Hey all,

I'm having a (probably?) simple problem that I just don't *quite* grok:

How do I search for a row based on properties of an foreign key property's sub-property?

That is, if I have two tables like these:

CREATE TABLE `vote` (
  `id` int(64) NOT NULL auto_increment,
`document` int(64) NOT NULL default '0' COMMENT 'The unique id of this document version.', `created_by` int(64) NOT NULL default '0' COMMENT 'The unique id of this version of this user.',
  `created_on` timestamp NOT NULL default CURRENT_TIMESTAMP,
`rating` int(4) unsigned NOT NULL default '5' COMMENT 'The value of this vote. 0-10',
  PRIMARY KEY  (`id`),
  KEY `vote_document` (`document`),
  KEY `vote_created_by` (`created_by`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Votes reflect user feedback pertaining to documents. Each u' AUTO_INCREMENT=17 ;

CREATE TABLE `user` (
`id` int(64) NOT NULL auto_increment COMMENT 'The unique id of this version of this user.', `version` int(64) NOT NULL default '0' COMMENT 'The version number of this user.', `user_name` varchar(8) NOT NULL default '' COMMENT 'This value could change (with marriage, for example)',
  `first_name` varchar(32) default NULL COMMENT 'This value could change.',
`last_name` varchar(32) default NULL COMMENT 'This value could change (with marriage, for example)', `job_title` varchar(255) NOT NULL default '' COMMENT 'The name of the job title of this user', `created_on` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `revision` (`user_name`,`version`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='This is a temporal table representing a user during a given ' AUTO_INCREMENT=3 ;

How can I find how the user with username "john_doe" voted on document 123?

I've been trying things like:

$schema->resultset('Vote')
   ->search(document => 123)
   ->search_related(user_name => 'john_doe');

But that gives me a resultset of *user* objects (I understand why and I agree that it should). I just don't quite see how I can get "the vote rows created by users with user_name 'john_doe'".

Help? =)

Thanks!

-Sir


_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to