Files
dbois/application/models/eloquent/Page.php
T
2017-12-25 20:23:32 +01:00

46 lines
1006 B
PHP

<?php
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 21/12/2017
* Time: 18:05
*/
use \Illuminate\Database\Eloquent\Model as Eloquent;
class Page extends Eloquent {
protected $table = "pages";
public function subpages()
{
return $this->hasMany( 'Page' );
}
public static function getPages( $user )
{
$pages = Page::whereRaw( 'id = page_id' )
->with( [
'subpages' => function ( $q ) use ( $user ) {
$q->whereRaw(
"id != page_id AND ((SELECT {$user->role} & pagelevel) != 0 OR pagelevel = 0)" );
}] )
->get();
return $pages;
}
public static function getAppPages( $user )
{
$appPages = Page::select( 'id', 'pageurl' )
->whereAppPage( 'T' )
->whereRaw(
"((SELECT {$user->role} & pagelevel) != 0 OR pagelevel = 0)" )
->get();
return $appPages;
}
}