The Power ORM


Counting records is very easy with RedBeanPHP. For instance, to count all beans of type book use:

    $numOfBooks R::count'book' );

You can use additional SQL here as well:

    $numOfBooks R::count'book'' pages > ? ', [ 250 ] );

Count related beans

Counting related beans is just as simple. To count all the pages of a 'book' bean:

    $numPages $book->countOwn'page' );

You can use the same technique for shared lists:

    $numProjects $member->countShared'project' );

You can also use withCondition() and alias():

    $numProj $member
->withCondition(' member_project.role ', ['lead'] ) )
countShared'project' );

$numPages $book
->withCondition' book_page.number > ? ', [100] )
countOwn'page' );

$andy->alias'coAuthor' )->countOwn'book' );

$shop->via'relation' )->countShared'customer' );

The first example counts all projects associated with the member in which the member has the 'lead' role. The second example counts all the pages of a book having a page number > 100. Finally the last example demonstrates the use of an aliased list. Here we count the number of books written by Andy where he has been the co-author. All count operations return a number.

Counting something (R::count) that does not exist will not trigger an error but just return the number 0.

RedBeanPHP Easy ORM for PHP © 2017 () and the RedBeanPHP community () - Licensed New BSD/GPLv2 - RedBeanPHP Archives