Exemplo n.º 1
0
 /**
  * Replace a model pattern by a key in an URL.
  *
  * @param string        $uri
  * @param AbstractModel $model
  *
  * @return string
  */
 protected function replacePatternWithModel($uri, AbstractModel $model)
 {
     // Compute pattern from model
     $pattern = $model->getClassBasename();
     $pattern = strtolower($pattern);
     $pattern = $pattern . '|' . Str::plural($pattern) . '|' . $pattern . '_slug';
     return preg_replace('/\\{(' . $pattern . ')\\}/', $model->getIdentifier(), $uri);
 }
Exemplo n.º 2
0
 /**
  * Scope to only the illustrables of an instance.
  *
  * @param Builder       $query
  * @param AbstractModel $model
  *
  * @return Builder
  */
 public function scopeIllustrable($query, AbstractModel $model)
 {
     return $query->where(['illustrable_type' => $model->getClass(), 'illustrable_id' => $model->id]);
 }
Exemplo n.º 3
0
 /**
  * @param AbstractModel|Builder $query
  *
  * @return Model
  */
 protected function unwrapQueries($query)
 {
     if ($query instanceof Builder) {
         return $query->getModel();
     }
     return $query;
 }