RedBean + CodeIgniter, Take 2...

written by Boris Strahija on February 22, 2011 in Blog with 10 comments

So I recently wanted to use the newest version of RedBean ORM (1.3beta) with the latest CodeIgniter Reactor version. The whole integration process is even simpler than before, so here goes:

  1. Download RedBean, copy “rb.php” to “application/third_party/rb”
  2. Create “application/libraries/rb.php”, and put this inside:
    <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
    
    class Rb {
    	
    	function __construct() {
    		// Include database configuration
    		include(APPPATH.'/config/database.php');
    		
    		// Get Redbean
    		include(APPPATH.'/third_party/rb/rb.php');
    		
    		// Database data
    		$host = $db[$active_group]['hostname'];
    		$user = $db[$active_group]['username'];
    		$pass = $db[$active_group]['password'];
    		$db = $db[$active_group]['database'];
    		
    		// Setup DB connection
    		R::setup("mysql:host=$host;dbname=$db", $user, $pass);
    	} //end __contruct()
    } //end Rb

  3. Load the library like any other
    $this->load->library('rb');

  4. Do fun stuff with the beans in your controller:
    $album = R::dispense('album');
    $album->title = '13 Songs';
    $album->artist = 'Fugazi';
    $album->year = 1990;
    $album->rating = 5;
    $id = R::store($album);

For more info and examples just go to the RedBean docs.

And yeah, Fugazi rocks!