/** * Parse the assignments. * * @param StreamInterface $stream * @param $string */ protected function parseAssignments(StreamInterface $stream, &$string) { $string .= "\n'assignments' => ["; foreach ($stream->getAssignments() as $assignment) { $this->parseAssignment($assignment, $string); } $string .= "\n],"; }
/** * Parse the relation methods. * * @param StreamInterface $stream * @return string */ public function parse(StreamInterface $stream) { $string = ''; $assignments = $stream->getAssignments(); foreach ($assignments->relations() as $assignment) { $this->parseAssignment($assignment, $string); } return $string; }
/** * Return the entry validation rules. * * @param StreamModel $stream * @return string */ public function parse(StreamInterface $stream) { $string = '['; foreach ($stream->getAssignments() as $assignment) { $this->parseAssignmentRules($stream, $assignment, $string); } $string .= "\n]"; return $string; }
/** * Handle the command. * * @param AssignmentRepositoryInterface $assignments */ public function handle(AssignmentRepositoryInterface $assignments) { foreach ($this->stream->getAssignments() as $assignment) { $assignments->delete($assignment); } }
/** * Fired when the table starts querying. * * @param Builder $query */ public function onQuerying(Builder $query) { $locked = $this->stream->getAssignments()->locked()->pluck('id')->all(); $assignments = $this->stream->getAssignments()->withFields($this->getOption('skip', []))->pluck('id')->all(); $query->where('stream_id', $this->stream->getId())->whereNotIn('id', array_merge($locked, $assignments)); }