Skip to content

Instantly share code, notes, and snippets.

@vkuzmov
Created July 19, 2013 11:37
Show Gist options
  • Save vkuzmov/6038538 to your computer and use it in GitHub Desktop.
Save vkuzmov/6038538 to your computer and use it in GitHub Desktop.

Migrate guide

Jam::factory()

Jam::factory()  -> Jam::build()
Jam::factory()  -> Jam::create()

$user = Jam::build('user', array(
  'name' => 'John'
));

$user->loaded() // FALSE

$user = Jam::create('user', array(
	'name' => 'John'
));

$user->loaded() // TRUE

Jam::query() vs. Jam::all()

Jam::query() -> Jam::all()

Jam::all('user')->where('name', '=', 'John')->first()

foreach(Jam::all('user') as $user) {}

find() vs first()

Jam::all('user')->first(); // returns Jam_Model|NULL Jam::all('user')->first_insist() // returns Jam_Model; throws Jam_Exception

Jam::find_or_build()

$user = Jam::find_or_build('user', 1);

$user instanceof Jam_Model // TRUE

$user->loaded() // TRUE|FALSE

$user = Jam::find_or_build('user', array(
	'name' => 'John'
));

Jam::find_or_create()

$user = Jam::find_or_create('user', array(
	'name' => 'John'
));

$user->loaded(); // TRUE

Jam::insert(),Jam::select(),Jam::update(),Jam::delete()

Jam::insert('user')
	->columns('name', 'username')
	->values(
		array(
			'John',
			'johnie'
		),
		array(
			'Tom',
			'tommie'
		)
	)
	->execute();

Jam::update('user')
	->set(array(
		'name' => 'John'
	))
	->where('name', '=', 'Tom')
	->execute();

Jam::insert('user')
	->columns('name', 'username')
	->select('person.name', 'person.username')
	->from('person')

	...

join()

->join_association() -> join()

Jam:all('user')
->join_nested('posts', 'LEFT')
	->join(array('comments', 'post_comments'))
->end()
->join('comments')

serialize()

serialize(Jam::build('user', array('posts' => array(...))));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment