REFACTORING #2039 @1h: clean a little bit file manager
This commit is contained in:
@@ -18,24 +18,33 @@ class Directory extends Model
|
||||
'hidden'
|
||||
];
|
||||
|
||||
public function files()
|
||||
{
|
||||
return $this->hasMany(File::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Relationship with parent/sub directories
|
||||
*
|
||||
* @param bool $includeHidden
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
||||
*/
|
||||
public function subdirectories($includeHidden = false)
|
||||
public function allSubdirectories()
|
||||
{
|
||||
$subdirectories = $this->hasMany(Directory::class, 'parent_id', 'id');
|
||||
|
||||
$subdirectories = Directory::where('parent_id', $this->id);
|
||||
|
||||
if (!$includeHidden) {
|
||||
$subdirectories = $subdirectories->where('hidden', 0);
|
||||
|
||||
// todo fix this ugly hack! statement above produces WHERE parent_id IS NOT NULL and parent_id IS NULL when selecting subdirectories from root/none directory
|
||||
if (is_null($this->id)) {
|
||||
$subdirectories = $subdirectories->orWhereNull('parent_id');
|
||||
}
|
||||
|
||||
return $subdirectories->get();
|
||||
return $subdirectories;
|
||||
}
|
||||
|
||||
public function subdirectories()
|
||||
{
|
||||
$subdirectories = $this->allSubdirectories()
|
||||
->where('hidden', false);
|
||||
|
||||
return $subdirectories;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user