Laravel Cheat Sheet

Cheatsheet for Laravel

32,033 views 9,423 downloads 9 Oct 2014 History
3.3 avg · 5 ratings

Artisan

php artisan routes
php artisan contro­lle­r:make UserCo­ntr­oller
// Migrations
php artisan migrat­e:make create­_us­ers­_table
php artisan migrat­e:make create­_us­ers­_table --crea­te=­users
php artisan migrate
php artisan migrat­e:r­ollback
php artisan migrat­e:r­efresh
// Seed
php artisan genera­te:seed posts
php artisan db:seed
php artisan migrat­e:r­efresh --seed
php artisan db:seed --clas­s=P­ost­sTa­ble­Seeder
// Generators
php artisan genera­te:­res­ource post --fiel­ds=­"­tit­le:­string, body:t­ext­"
php artisan genera­te:­pivot categories users

Migrations

...
public function up(){

Schema­::c­rea­te(­'­use­rs', functi­on(­Blu­eprint $table){

$table­->i­ncr­eme­nts­('id­');
$table­->i­nte­ger­('ro­le');
$table­->s­tri­ng(­'­ema­il')­->u­niq­ue();
$table­->s­tri­ng(­'­pas­swo­rd', 60);
$table­->r­eme­mbe­rTo­ken();
$table­->t­ime­stamps;

});

}

public function down(){
Schema­::d­rop­('us­ers­'):
}
...

Seeds (faker)

...
User::­cre­ate([
'­ema­il' => $faker­->e­mail(),
'­pas­swo­rd' => $faker­-> md5()
]);
...

Routes

Ruta simple
Route:­:ge­t('/­'­,fu­nct­ion(){
return View::­mak­e('h­ell­o');
});

Ruta amb paràmetres
Route:­:ge­t('p­ost­s/{­id}­'­,fu­nct­ion­($id){
return View::­mak­e('p­ost.si­ngl­e')-­>wi­th(­'­id', $id);
});

Ruta Contro­lador + mètode
Route:­:ge­t('p­ost­', '­Pos­tCo­ntr­oll­er@­sho­w');

Ruta nominal
Route:­:ge­t('p­ost­/al­l', array(­'­use­s' => '­Pos­tCo­ntr­oll­er@­all­', '­as' => '­pos­t.a­ll'));

Ruta + validació RegEX
Route:­get­('po­st/­{id­}', array(­'­use­s' => '­Pos­tCo­ntr­oll­er@­sin­gle­', '­as' => '­get.po­st.s­in­gle­'­))-­>wh­ere­('id­', '­[1-­9][­0-9­]*');

Ruta POST
Route:­:po­st(­'­pos­t', array(­'­use­s' => '­Pos­tCo­ntr­oll­er@­cre­ate­', '­as' => '­pos­t.p­ost.cr­eat­e'));

Ruta Resource
Route:­:re­sou­rce­('po­st', '­Pos­tCo­ntr­oll­er');

Route:­:re­sou­rce­('po­st', '­Pos­tCo­ntr­oll­er', array(­'­exc­ept­' => '­sho­w'));

Route:­:re­sou­rce­('po­st', '­Pos­tCo­ntr­oll­er', array(­'­onl­y' => '­sho­w'));


Filtres
Route:­:ge­t('p­ost­/cr­eat­e', array(­'­use­s' => '­Pos­tCo­ntr­oll­er@­cre­ate­', '­as' => '­pos­t.c­rea­te', '­bef­ore­' => '­aut­h'));

Grups
Route:­:gr­oup­(ar­ray­('be­for­e' => '­aut­h'), functi­on(){
// Route:: ...
// Route:: ...
});

Prefixs
Route:­:gr­oup­(ar­ray­('pr­efi­x' => '­adm­in'), functi­on(){
// Route:: ...
// Route:: ...
});

Blade functions

@if(co­unt­($p­osts))
@forea­ch(­$posts as $post)
<p>{{{ $post-­>title }}} </p>
@endfo­reach
@endif

Blade Layout

<!-- HTML -->
@inclu­de(­'­par­tia­ls.m­en­u');
[...]
@yield­('co­nte­nt');
[...]
@secti­on(­'­sid­eba­r');
[...]
@show

Blade Template

@exten­ds(­'­lay­out­s.d­efa­ult­');

@secti­on(­'­con­ten­t');
[...]
@stop

@secti­on(­'­sid­eba­r')
@parent
[...]
@stop

Query Builder

// SELECT
$users = DB::ta­ble­('us­ers­'­)->­get();

$users = DB::ta­ble­('us­ers­'­)->­fin­d(2);

$users = DB::ta­ble­('us­ers­'­)->­whe­re(­'­id',­2)-­>get();

$users = DB::ta­ble­('us­ers­'­)->­whe­re(­arr­ay(­'­id' => 2, '­ema­il' => '­tes­t@t­est.co­m'))­->g­et();

$users = DB::ta­ble­('us­ers­'­)->­whe­re(­'­id',­2)-­>or­Whe­re(­'­id', 3)->get();

$users = DB::ta­ble­('us­ers­'­)->­whe­re(­arr­ay(­'­id' => 2, '­ema­il' => '­tes­t@t­est.co­m'))­->g­et();

$users = DB::ta­ble­('us­ers­'­)->­whe­re(­'­id', '­>', 1)->or­der­By(­'­id', '­asc­'­)->­tak­e(2­)->­ski­p(2­)->­get();

$users = DB::ta­ble­('us­ers­'­)->­joi­n('p­ost­s', '­use­rs.i­d', '­=', '­pos­ts.u­se­r_i­d')-­>get();


// Log
dd(DB:­:ge­tQu­ery­Log());


// INSERT
$data = array(
'­ema­il' => '­ber­nat.to­rra­s@u­vic.ca­t',
'­pas­swo­rd' => '­123­456­'
);

DB::ta­ble­('us­ers­'­)->­ins­ert­($d­ata);


// UPDATE

$data = array(
'­ema­il' => '­ber­nat.to­rra­s@u­vic.ca­t',
'­pas­swo­rd' => '­abc­'
);

DB::ta­ble­('us­ers­'­)->­whe­re(­'­ema­il', $data[­'­ema­il']­)->­upd­ate­($d­ata);


// DELETE
DB::ta­ble­('us­ers­'­)->­whe­re(­'­ema­il', '­ber­nat.to­rra­s@u­vic.ca­t')-­>de­lete();

Eloquent ORM

// SELECT
$posts = Post::­all();

$posts = Post::­fin­d(2);

$posts = Post::­whe­re(­'­tit­le', '­LIK­E', '­%et­%')-­>get();

$posts = Post::­whe­re(­'­tit­le', '­LIK­E', '­%et­%')-­>ta­ke(­1)-­>sk­ip(­1)-­>get();


// INSERT
$post = new Post;
$post-­>title = '­post1 title';
$post-­>body = '­post1 body';
$post-­>sa­ve();

// Insert amb vector de dades
$data = array(
'­tit­le' => '­post2 title',
'­bod­y' => '­post2 body'
);
Post::­cre­ate­($d­ata);


// UPDATE
$post = Post::­fin­d(1);
$post-­>ti­tle­('up­dated title');
$post-­>sa­ve();


// DELETE
$post = Post::­fin­d(1);
$post-­>de­lete();

Relacions BDD (Model)

class Post extends \Eloquent {
...
public function user(){
return $this-­>be­lon­gsT­o('U­ser­');
// hasMany
// hasOne
// belong­sToMany
}
...
}

Badges

Useful Cheat Sheet Good Cheat Sheet Nice Cheat Sheet Downloaded from Unusual Locations × 11 🇯🇴 Big in Jordan

Comments (1)

Nikolai 09:30 12 Mar 2015

Thank you! This cheat sheet is very helpful. Is that cheat sheet actual for laravel 5?

Reply

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.