project; if ($parent) { $query->whereHas('project', function ($q) use ($parent) { return $q->whereId($parent->id); }); } return $query; } /** * Show create page middleware * * @return void */ public function createModel() { $this->shareLabelsToView(); } /** * Show edit model middleware * * @param Model $model * @return void * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass */ public function editModel(Model &$model) { $this->shareLabelsToView(); } /** * Before store model middleware * * @param \App\Models\MacroSchedule\Marker $marker * @return void */ public function storeModel(Marker &$marker) { $marker->project()->associate(request()->project); } /** * Share Marker labels to view * * @return void */ protected function shareLabelsToView() { View::share('markerLabels', Cache::remember('markers_labels', 20, function () { return Marker::pluck('label'); })); } }