I don't get it either, because if I log the graph sql on the line 21 there, it returns this:
SELECT
`ltPrincipalMap`.`id` AS `ltPrincipalMap_id`,
`ltPrincipalMap`.`user_id` AS `ltPrincipalMap_user_id`,
`ltPrincipalMap`.`school_marker_id` AS `ltPrincipalMap_school_marker_id`,
`ltPrincipalMap`.`submitted` AS `ltPrincipalMap_submitted`,
`ltPrincipalMap`.`created_on` AS `ltPrincipalMap_created_on`,
`ltPrincipalMap`.`created_user_id` AS `ltPrincipalMap_created_user_id`,
`ltPrincipalMap`.`created_user_ip` AS `ltPrincipalMap_created_user_ip`,
`ltPrincipalMap`.`updated_on` AS `ltPrincipalMap_updated_on`,
`ltPrincipalMap`.`updated_user_id` AS `ltPrincipalMap_updated_user_id`,
`ltPrincipalMap`.`updated_user_ip` AS `ltPrincipalMap_updated_user_ip`,
`PrincipalRoute`.`id` AS `PrincipalRoute_id`,
`PrincipalRoute`.`polyline_id` AS `PrincipalRoute_polyline_id`,
`PrincipalRoute`.`principal_map_id` AS `PrincipalRoute_principal_map_id`,
`PrincipalRoute`.`index` AS `PrincipalRoute_index`,
`PrincipalRoute`.`created_on` AS `PrincipalRoute_created_on`,
`PrincipalRoute`.`created_user_id` AS `PrincipalRoute_created_user_id`,
`PrincipalRoute`.`created_user_ip` AS `PrincipalRoute_created_user_ip`,
`PrincipalRoute`.`updated_on` AS `PrincipalRoute_updated_on`,
`PrincipalRoute`.`updated_user_id` AS `PrincipalRoute_updated_user_id`,
`PrincipalRoute`.`updated_user_ip` AS `PrincipalRoute_updated_user_ip`,
`Polyline`.`id` AS `Polyline_id`,
`Polyline`.`created_on` AS `Polyline_created_on`,
`Polyline`.`created_user_id` AS `Polyline_created_user_id`,
`Polyline`.`created_user_ip` AS `Polyline_created_user_ip`,
`Polyline`.`updated_on` AS `Polyline_updated_on`,
`Polyline`.`updated_user_id` AS `Polyline_updated_user_id`,
`Polyline`.`updated_user_ip` AS `Polyline_updated_user_ip`,
`PolylineMarker`.`id` AS `PolylineMarker_id`,
`PolylineMarker`.`polyline_id` AS `PolylineMarker_polyline_id`,
`PolylineMarker`.`type` AS `PolylineMarker_type`,
`PolylineMarker`.`lat` AS `PolylineMarker_lat`,
`PolylineMarker`.`lng` AS `PolylineMarker_lng`,
`PolylineMarker`.`created_on` AS `PolylineMarker_created_on`,
`PolylineMarker`.`created_user_id` AS `PolylineMarker_created_user_id`,
`PolylineMarker`.`created_user_ip` AS `PolylineMarker_created_user_ip`,
`PolylineMarker`.`updated_on` AS `PolylineMarker_updated_on`,
`PolylineMarker`.`updated_user_id` AS `PolylineMarker_updated_user_id`,
`PolylineMarker`.`updated_user_ip` AS `PolylineMarker_updated_user_ip`,
`SchoolMarker`.`id` AS `SchoolMarker_id`,
`SchoolMarker`.`type` AS `SchoolMarker_type`,
`SchoolMarker`.`lat` AS `SchoolMarker_lat`,
`SchoolMarker`.`lng` AS `SchoolMarker_lng`,
`SchoolMarker`.`created_on` AS `SchoolMarker_created_on`,
`SchoolMarker`.`created_user_id` AS `SchoolMarker_created_user_id`,
`SchoolMarker`.`created_user_ip` AS `SchoolMarker_created_user_ip`,
`SchoolMarker`.`updated_on` AS `SchoolMarker_updated_on`,
`SchoolMarker`.`updated_user_id` AS `SchoolMarker_updated_user_id`,
`SchoolMarker`.`updated_user_ip` AS `SchoolMarker_updated_user_ip`
FROM
`custom_principal_map` AS `ltPrincipalMap`
LEFT JOIN
`custom_principal_route` `PrincipalRoute` ON `ltPrincipalMap`.`id` = `PrincipalRoute`.`principal_map_id`
LEFT JOIN
`custom_polyline` `Polyline` ON `PrincipalRoute`.`polyline_id` = `Polyline`.`id`
LEFT JOIN
`custom_polyline_marker` `PolylineMarker` ON `Polyline`.`id` = `PolylineMarker`.`polyline_id`
LEFT JOIN
`custom_marker` `SchoolMarker` ON `ltPrincipalMap`.`school_marker_id` = `SchoolMarker`.`id`
WHERE
( `ltPrincipalMap`.`user_id` = 2 AND `PolylineMarker`.`type` = '3' )
ORDER BY
PrincipalRoute.index ASC, `ltPrincipalMap`.`id` ASC
And if I run that in phpMyAdmin, it returns the correct result set and "PolylineMarker" is filtered correctly. But still on line 33 if I use:
$polylineMarkers = $polyline->PolylineMarker;
It retrieves all of the related markers and not only those with type set to 3. What's going on... ...does jason still visit these forums?
Do you Bob know that if I use this on the line 33:
$polylineMarkers = $polyline->getMany('PolylineMarker', array('type' => $polylineMarkerObj::TYPE_PATH_MARKER));
Does it go to the database to retrieve the objects? Is there a way for me to check this other than using mysqld logging?