34 lines
757 B
PHP
34 lines
757 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class Document extends Model
|
|
{
|
|
|
|
public function getOthersLangAttribute()
|
|
{
|
|
return Document::where('parent', '=', $this->id)->get();
|
|
}
|
|
|
|
public function getParentsAttribute()
|
|
{
|
|
return $this->constructParents($this->directory);
|
|
}
|
|
|
|
private function constructParents($id, $parents = [])
|
|
{
|
|
$tmp = Directories::find($id);
|
|
array_push($parents, $tmp);
|
|
if ($tmp->parent != NULL) {
|
|
return $this->constructParents($tmp->parent, $parents);
|
|
}
|
|
return array_reverse($parents);
|
|
}
|
|
|
|
public function directory()
|
|
{
|
|
return $this->belongsTo(Directories::class, 'id', 'directory');
|
|
}
|
|
}
|