Welcome Guest, Not a member yet? Register   Sign In
DataMapper: Find with No Related Objects
#1

[eluser]jonahdahlquist[/eluser]
Hello, world!

My CodeIgniter/DataMapper site needs to display a list of categories. Each category has a many-to-many relationship with itself, for multiple parents/children. I want to initially select only the categories with with no parents, or in other words, with no objects connected through a specified relationship.

I've run through a couple of possibilities (like including the related object count in the select and adding it to the where clause, which doesn't work because WHERE is evaluated before generating the column values in SQL), but to no avail.

Advice? Thank you.
#2

[eluser]WanWizard[/eluser]
Have you looked at http://datamapper.wanwizard.eu/pages/tro...NotRelated ?
#3

[eluser]jonahdahlquist[/eluser]
Not quite, I don't want to check if it's not related to a specific object, I wanted get ones that aren't related to any objects at all. I did resolve it by doing this:

Code:
$c = new Category();

$top_level_categories = $c
    ->where_related_parents('id IS NULL')
    ->get();

If it's an integer auto-increment column, no values will actually be NULL, but if there are no related rows in the join, it will come out as NULL.




Theme © iAndrew 2016 - Forum software by © MyBB