예제 #1
0
 /**
  * Извлечь все ресурсы или ресурс замка.
  *
  * @param Resource|string|int|null $resource
  * @return int|\Illuminate\Support\Collection|null
  */
 public function getResources($resource = null)
 {
     if (isset($resource)) {
         $res = Resource::extract($resource);
         if (is_null($res)) {
             return null;
         }
         // связка с pivot...
         $rp = $this->resources()->find($res->id);
         return !is_null($rp) ? $rp->pivot->count : 0;
     }
     $arr = [];
     // Извлечь все ресурсы этого замка...
     foreach ($this->resources()->getResults() as $r) {
         $arr[] = ['name' => $r->name, 'count' => $r->pivot->count];
     }
     return collect($arr);
 }