public function with()
{
// Allow multiple with-calls
if (false === isset($this->_eager_loads)) {
$this->_eager_loads = array();
}
foreach (func_get_args() as $a) {
// Add closures as name=>function()
if (is_array($a)) {
$this->_eager_loads = array_merge($this->_eager_loads, $a);
} else {
$this->_eager_loads[] = $a;
}
}
return $this;
}