/** * Unbind a deferred relationship to the supplied record. */ public function unbindDeferred($relation, $record, $sessionKey) { $binding = DeferredBindingModel::make(); $binding->master_type = get_class($this); $binding->master_field = $relation; $binding->slave_type = get_class($record); $binding->slave_id = $record->getKey(); $binding->session_key = $sessionKey; $binding->is_bind = false; $binding->save(); return $binding; }
/** * Returns any outstanding binding records for this model. * @return October\Rain\Database\Collection */ protected function getDeferredBindingRecords($sessionKey, $force = false) { if ($this->deferredBindingCache !== null && !$force) { return $this->deferredBindingCache; } return $this->deferredBindingCache = DeferredBindingModel::make()->where('master_type', get_class($this))->where('session_key', $sessionKey)->get(); }