php artisan list
migrate Run the database migrations optimize Optimize the framework for better performance routes List all registered routes serve Serve the application on the PHP development server down Put the application into maintenance mode up Bring the application out of maintenance mode cache cache:clear Flush the application cache controller controller:make Create a new resourceful controller db db:seed Seed the database with records generate generate:controller Generate a new controller. generate:form Dump form HTML for a model generate:migration Generate a new migration. generate:model Generate a new model. generate:pivot Generate a pivot table generate:resource Generate a resource. generate:scaffold Generate scaffolding for a resource. generate:seed Generate a seed file. generate:test Generate a PHPUnit test class. generate:view Generate a new view. key key:generate Set the application key migrate migrate:install Create the migration repository migrate:make Create a new migration file migrate:refresh Reset and re-run all migrations migrate:reset Rollback all database migrations migrate:rollback Rollback the last database migration queue queue:listen Listen to a given queue queue:subscribe Subscribe a URL to an Iron.io push queue queue:work Process the next job on a queue
// app/routes.php
Route::get('/', function() { return 'Hello World'; });
Route::post('foo/bar', function() {
return Input::all(); });
Route::get('user/{id}', function($id) {
return User::find($id)->get(); });
Route::get('user/{id}', 'UserController@showProfile');
Route::resource('photos', 'PhotoController');
Route::get('photos', 'PhotoController@index');Route::get('photos/create', 'PhotoController@create');
Route::post('photos', 'PhotoController@store');
Route::get('photos/{id}', 'PhotoController@show');
....
....
....
Verb | Path | Action | Route Name |
---|---|---|---|
GET | /photos | index | resource.index |
GET | /photos/create | create | resource.create |
POST | /photos | store | resource.store |
GET | /photos/{id} | show | resource.show |
GET | /photos/{id}/edit | edit | resource.edit |
PUT/PATCH | /photos/{id} | update | resource.update |
DELETE | /photos/{id} | destroy |
Route::get('/administrator', ['before' => 'admin'], function() {
// podemos asumir que el usuario esta logueado. return 'Admin page!'; });
Route::filter('admin', function()
{
if (!Auth::check())
{
// Redirect al login
}
});
$users = User::all(); // Todos los usuarios de la DB User::create(['nombre' => 'Pablo']); // Crea al usuario
User::find(1)->delete(); // Borra al usuario
User::find(1)->nombre; // Pablo
// app/models/User.php
class User extends Eloquent {
// Todo opcional protected $table = 'usuarios';
protected $fillable = ['nombre', 'mail'];
protected $guarded = 'id';
protected $hidden = 'password';
}
$user = Post::whereSlug('el-post')->user;
$comments = Post::find(1)->comments;
class Post extends Eloquent {
public function comments() { return $this->hasMany('Comment'); }
public function user() { return $this->belongsTo('User'); } }
$someUsers = User::where('votes', '>', 100)->paginate(15);
// En la vista
{{ $someUsers->links() }}
http://laravel.com/docs/queries
Métodos también disponibles utilizando un modelo de Eloquent.
DB::table('users')-> se reemplaza por User::
// Todos los usuarios
$users = DB::table('users')->get();
// El primer usuario cuyo campo 'name' sea John
$user = DB::table('users')->where('name', 'John')->first();
// Solo el valor del campo nombre
$name = DB::table('users')->where('name', 'John')->pluck('name');
// Varios filtros
$users = DB::table('users') ->where('votes', '>', 100) ->orWhere('name', 'John') ->get();
// Joins
DB::table('users') ->join('contacts', 'users.id', '=', 'contacts.user_id') ->join('orders', 'users.id', '=', 'orders.user_id') ->select('users.id', 'contacts.phone', 'orders.price');
php artisan migrate:rollback
php artisan migrate:make --create="users" create_users_table
php artisan migrate:make add_votes_to_user_table --table=users
php artisan generate:migration create_posts_table
--fields="title:string, body:text"
// Archivo en /app/views/layout.blade.php
<html> <body> HTML general a todo el proyecto, botoneras, etc. <div class="container"> @yield('content') // Contenido variable para cada vista </div> </body> </html>
@extends('layouts.master')
@section('content')
<p>This is my body content.</p>
@stop
@for ($i = 0; $i < 10; $i++) The current value is {{ $i }} @endfor @foreach ($users as $user) <p>This is user {{ $user->id }}</p> @endforeach @while (true) <p>I'm looping forever.</p> @endwhile
@if (condition) <p>I'm looping forever.</p>
@elseif(condition) <p>I'm looping forever.</p>
@else <p>I'm looping forever.</p>
@endif {{ date() }} es igual a <?php echo date(); ?>