\Ceo\Mvc\ModelBuilder

Builder

Extends QueryBuilder to add findBy options and includes the base Paginator helpers.

Summary

Methods
Properties
Constants
__construct()
isPublished()
wherePublished()
withTags()
byTags()
byAuthors()
find()
setPage()
setLimit()
setBuilder()
setFilter()
paginate()
getPagination()
getItems()
__call()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$parentClass
$page
$limit
$builder
$filter
$myPagination
$myItems
N/A

Properties

$parentClass

$parentClass : 

Type

$page

$page : integer

Page

Type

integer

$limit

$limit : integer

Limit

Type

integer

$builder

$builder : \Ceo\Mvc\Model\QueryBuilder

Query builder

Type

\Ceo\Mvc\Model\QueryBuilder

$filter

$filter : callback

Result filter

Type

callback

$myPagination

$myPagination : object

Pagination object

Type

object

$myItems

$myItems : object

Returned items

Type

object

Methods

__construct()

__construct(  $parentClass) 

Parameters

$parentClass

isPublished()

isPublished() 

wherePublished()

wherePublished() 

withTags()

withTags(  $tags = array(),   $mode = 'AND') 

Parameters

$tags
$mode

byTags()

byTags(  $tags = array(),   $mode = 'AND') 

Parameters

$tags
$mode

byAuthors()

byAuthors(  $authors = array(),   $mode = 'AND') 

Parameters

$authors
$mode

find()

find() 

setPage()

setPage(integer  $page) : self

Set the page number

Parameters

integer $page

page

Returns

self

setLimit()

setLimit(integer  $limit) : self

Set return limit

Parameters

integer $limit

Returns

self

setBuilder()

setBuilder(\Ceo\Mvc\Model\QueryBuilder  $builder) : self

Reset the query builder

Parameters

\Ceo\Mvc\Model\QueryBuilder $builder

Returns

self

setFilter()

setFilter(callback  $filter) : self

Set the result filter

The filter will be passed the individual result model:

    $paginator = new Ceo\Helpers\Paginator(1,2)
        ->from('Ceo\Models\Foo')
        ->orderBy('created_at desc')
        ->where('name = :name:', array('name' => $name))
        ->andWhere('type = :type:', array('type' => $type))
        ->setFilter(function($model) {
            return $model->toArray();
        })
        ->paginate();

Parameters

callback $filter

Returns

self

paginate()

paginate(  $return = array()) : self

Paginate results.

Parameters

$return

Returns

self

getPagination()

getPagination() : Object

Return the paginator object

Returns

Object

getItems()

getItems() : Object

Return the fetched items

Returns

Object

__call()

__call(string  $f, array  $args) : self

Forward fluent calls for the querybuilder to the actual querybuilder

Parameters

string $f

method name

array $args

arguments

Returns

self