creationRulesCallback = $callback; return $this; } /** * Set allow same relation rules. * * @return $this */ public function allowDuplicateRelations() { $this->allowDuplicateRelations = true; return $this->creationRules(function ($request) { return [ new NotExactlyAttached($request, $request->findModelOrFail()), ]; }); } /** * Set disallow same relation rules. * * @return $this */ public function noDuplicateRelations() { $this->allowDuplicateRelations = false; return $this->creationRules(function ($request) { return [ new NotAttached($request, $request->findModelOrFail()), ]; }); } /** * Get the creation rules for this field. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ public function getManyToManyCreationRules(NovaRequest $request) { return transform($this->creationRulesCallback, function ($callback) use ($request) { return Arr::wrap(call_user_func($callback, $request)); }, []); } }