<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<feed xmlns="http://www.w3.org/2005/Atom"  xml:lang="pt-br">
	<title type="text">Dicas - RibaFS Portal</title>
	<subtitle type="text">Servidores linux, Programação web (PHP, Joomla, CakePHP, Laravel), Programação Mobile (Phaser, PhoneGap, Monaca, Unity, etc) entre outros.</subtitle>
	<link rel="alternate" type="text/html" href="http://backup"/>
	<id>http://backup/portal/frameworks/laravel-5/dicas.feed</id>
	<updated>2019-09-07T18:59:55-03:00</updated>
	<author>
		<name>RibaFS Portal</name>
	</author>
	<generator uri="https://www.joomla.org">Joomla! - Open Source Content Management</generator>
	<link rel="self" type="application/atom+xml" href="http://backup/portal/frameworks/laravel-5/dicas.feed?type=atom"/>
	<entry>
		<title>MVC no Laravel 5</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/mvc-no-laravel-5.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/mvc-no-laravel-5.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Uso do MVC no Laravel 5&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No Laravel 5 os elementos do MVC ficam nos diretórios:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt; - /app&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Controllers&lt;/strong&gt; - /app/Http/Controllers&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Views&lt;/strong&gt; - /resources/views&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Como é importante vou citar o routes&lt;/p&gt;

&lt;p&gt;Routes - /routes/web.php (existem outros arquivos, mas este é o principal a ser alterado)&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Uso do MVC no Laravel 5&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No Laravel 5 os elementos do MVC ficam nos diretórios:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt; - /app&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Controllers&lt;/strong&gt; - /app/Http/Controllers&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Views&lt;/strong&gt; - /resources/views&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Como é importante vou citar o routes&lt;/p&gt;

&lt;p&gt;Routes - /routes/web.php (existem outros arquivos, mas este é o principal a ser alterado)&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Laravel - Artisan</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/laravel-artisan.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/laravel-artisan.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Comando para adicionar recursos usando a linha de comando assim&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;php artisan comando&lt;br /&gt;&lt;br /&gt;Limpar o cache&lt;br /&gt;php artisan config:clear&lt;br /&gt;php artisan config:cache&lt;br /&gt;&lt;br /&gt;php artisan key:generate --show&lt;br /&gt;php artisan key:generate&lt;br /&gt;&lt;br /&gt;Mudar namespace da aplicação em geral&lt;br /&gt;php artisan app:name Cadastro&lt;br /&gt;&lt;br /&gt;php artisan serve --port=8888&lt;br /&gt;&lt;br /&gt;O comando acima seta Cadastro como o novo namespace e configura todos os existentes&lt;br /&gt;Exemplo: namespace Cadastro\Http\Controllers;&lt;br /&gt;&lt;br /&gt;php artisan list&lt;br /&gt;&lt;br /&gt;php artisan help migrate&lt;br /&gt;&lt;br /&gt;Criar numa pasta específica&lt;br /&gt;php artisan make:controller Painel\\PainelController&lt;br /&gt;&lt;br /&gt;php artisan make:controller PhotoController --resource&lt;br /&gt;&lt;br /&gt;php artisan make:controller PhotoController --resource --model=Photo&lt;br /&gt;&lt;br /&gt;Sem detalhes:&lt;br /&gt;&lt;br /&gt;php artisan make:controller ClientesController --plain&lt;br /&gt;&lt;br /&gt;php artisan make:migration -h (help)&lt;br /&gt;&lt;br /&gt;php artisan migrate:install (instalar a tabela de migração)&lt;br /&gt;&lt;br /&gt;php aartisan make:migration create_tabela_post --create-posts&lt;br /&gt;&lt;br /&gt;Terminal de php&lt;br /&gt;&lt;br /&gt;php artisan tinker&lt;br /&gt;&lt;br /&gt;php artisan make:console (mudou para make:commander)&lt;br /&gt;&lt;br /&gt;Listar routes&lt;br /&gt;php artisan route:list&lt;br /&gt;&lt;br /&gt;Criar o model e a migration, já com parte do método up&lt;br /&gt;php artisan make:model Produtos -m&lt;br /&gt;&lt;br /&gt;php artisan help make:migration&lt;br /&gt;&lt;br /&gt;php artisan --version&lt;br /&gt;&lt;br /&gt;Quando baixamos um projeto do gitHub ele pode vir sem a pasta vendor ou outra. Para instalar execute:&lt;br /&gt;composer install&lt;br /&gt;&lt;br /&gt;php artisan make:middleware PermissionsRequiredMiddleware&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Comando para adicionar recursos usando a linha de comando assim&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;php artisan comando&lt;br /&gt;&lt;br /&gt;Limpar o cache&lt;br /&gt;php artisan config:clear&lt;br /&gt;php artisan config:cache&lt;br /&gt;&lt;br /&gt;php artisan key:generate --show&lt;br /&gt;php artisan key:generate&lt;br /&gt;&lt;br /&gt;Mudar namespace da aplicação em geral&lt;br /&gt;php artisan app:name Cadastro&lt;br /&gt;&lt;br /&gt;php artisan serve --port=8888&lt;br /&gt;&lt;br /&gt;O comando acima seta Cadastro como o novo namespace e configura todos os existentes&lt;br /&gt;Exemplo: namespace Cadastro\Http\Controllers;&lt;br /&gt;&lt;br /&gt;php artisan list&lt;br /&gt;&lt;br /&gt;php artisan help migrate&lt;br /&gt;&lt;br /&gt;Criar numa pasta específica&lt;br /&gt;php artisan make:controller Painel\\PainelController&lt;br /&gt;&lt;br /&gt;php artisan make:controller PhotoController --resource&lt;br /&gt;&lt;br /&gt;php artisan make:controller PhotoController --resource --model=Photo&lt;br /&gt;&lt;br /&gt;Sem detalhes:&lt;br /&gt;&lt;br /&gt;php artisan make:controller ClientesController --plain&lt;br /&gt;&lt;br /&gt;php artisan make:migration -h (help)&lt;br /&gt;&lt;br /&gt;php artisan migrate:install (instalar a tabela de migração)&lt;br /&gt;&lt;br /&gt;php aartisan make:migration create_tabela_post --create-posts&lt;br /&gt;&lt;br /&gt;Terminal de php&lt;br /&gt;&lt;br /&gt;php artisan tinker&lt;br /&gt;&lt;br /&gt;php artisan make:console (mudou para make:commander)&lt;br /&gt;&lt;br /&gt;Listar routes&lt;br /&gt;php artisan route:list&lt;br /&gt;&lt;br /&gt;Criar o model e a migration, já com parte do método up&lt;br /&gt;php artisan make:model Produtos -m&lt;br /&gt;&lt;br /&gt;php artisan help make:migration&lt;br /&gt;&lt;br /&gt;php artisan --version&lt;br /&gt;&lt;br /&gt;Quando baixamos um projeto do gitHub ele pode vir sem a pasta vendor ou outra. Para instalar execute:&lt;br /&gt;composer install&lt;br /&gt;&lt;br /&gt;php artisan make:middleware PermissionsRequiredMiddleware&lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Laravel - Auth</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/laravel-auth.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/laravel-auth.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Dicas de Autenticação no Laravel 5&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;Crie o aplicativo&lt;br /&gt;Crie o banco de dados&lt;br /&gt;Configure o banco&lt;br /&gt;&lt;br /&gt;Rode o scaffold do Laravel executando:&lt;br /&gt;php artisan make:auth&lt;br /&gt;php artisan migrate&lt;/p&gt;


&lt;p&gt;Ele traz forms de login, registro, recuperação de senha, com views, routes e o controller Home&lt;br /&gt;&lt;br /&gt;php artisan serve&lt;br /&gt;&lt;br /&gt;Acesse&lt;br /&gt;http://localhost:8000&lt;br /&gt;&lt;br /&gt;No controller Users adicionar para maior controle&lt;br /&gt;public function __construct(){&lt;br /&gt;    $this-&amp;gt;middleware(['auth']);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Auth::routes();&lt;br /&gt;&lt;br /&gt;Route::group(['middleware' =&amp;gt; 'auth'], function () {&lt;br /&gt;    Route::resource('/', 'HomeController');&lt;br /&gt;    Route::resource('home', 'HomeController');&lt;br /&gt;    Route::resource('noticias', 'NoticiasController');&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;Route::resource('clientes', 'ClientesController',['middleware' =&amp;gt; 'auth']);&lt;br /&gt;&lt;br /&gt;Para que ao abrir seja solicitado o login, mudar as rotas:&lt;br /&gt;&lt;br /&gt;Auth::routes();&lt;br /&gt;&lt;br /&gt;Route::get('/', 'HomeController@index')-&amp;gt;name('home');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Criar rota tipo post&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Route::post('clientes/salvar', 'ClientesController@salvar');&lt;br /&gt;&lt;br /&gt;Mensagem num método salvar, após cadastrar&lt;br /&gt;&lt;br /&gt;\Session::flash('mensagem_sucesso', 'Cliente cadastrado com sucesso');&lt;br /&gt;&lt;br /&gt;Na view salvar&lt;br /&gt;&lt;br /&gt;&amp;lt;div class=&quot;panel-body&quot;&amp;gt;&lt;br /&gt;    @if(Session::has('mensagem_sucesso'))&lt;br /&gt;        &amp;lt;div class=&quot;alert alert-success&quot;&amp;gt;{{ Session::get('mensagem_sucesso') }}&amp;lt;/div&amp;gt;&lt;br /&gt;    @endif&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Vide:&lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=9qkWJ2ABNMc&quot;&gt;https://www.youtube.com/watch?v=9qkWJ2ABNMc&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=MZA-P_D1xIk&quot;&gt;https://www.youtube.com/watch?v=MZA-P_D1xIk&lt;/a&gt;&lt;/p&gt;


&lt;p&gt; &lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Dicas de Autenticação no Laravel 5&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;Crie o aplicativo&lt;br /&gt;Crie o banco de dados&lt;br /&gt;Configure o banco&lt;br /&gt;&lt;br /&gt;Rode o scaffold do Laravel executando:&lt;br /&gt;php artisan make:auth&lt;br /&gt;php artisan migrate&lt;/p&gt;


&lt;p&gt;Ele traz forms de login, registro, recuperação de senha, com views, routes e o controller Home&lt;br /&gt;&lt;br /&gt;php artisan serve&lt;br /&gt;&lt;br /&gt;Acesse&lt;br /&gt;http://localhost:8000&lt;br /&gt;&lt;br /&gt;No controller Users adicionar para maior controle&lt;br /&gt;public function __construct(){&lt;br /&gt;    $this-&amp;gt;middleware(['auth']);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Auth::routes();&lt;br /&gt;&lt;br /&gt;Route::group(['middleware' =&amp;gt; 'auth'], function () {&lt;br /&gt;    Route::resource('/', 'HomeController');&lt;br /&gt;    Route::resource('home', 'HomeController');&lt;br /&gt;    Route::resource('noticias', 'NoticiasController');&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;Route::resource('clientes', 'ClientesController',['middleware' =&amp;gt; 'auth']);&lt;br /&gt;&lt;br /&gt;Para que ao abrir seja solicitado o login, mudar as rotas:&lt;br /&gt;&lt;br /&gt;Auth::routes();&lt;br /&gt;&lt;br /&gt;Route::get('/', 'HomeController@index')-&amp;gt;name('home');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Criar rota tipo post&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Route::post('clientes/salvar', 'ClientesController@salvar');&lt;br /&gt;&lt;br /&gt;Mensagem num método salvar, após cadastrar&lt;br /&gt;&lt;br /&gt;\Session::flash('mensagem_sucesso', 'Cliente cadastrado com sucesso');&lt;br /&gt;&lt;br /&gt;Na view salvar&lt;br /&gt;&lt;br /&gt;&amp;lt;div class=&quot;panel-body&quot;&amp;gt;&lt;br /&gt;    @if(Session::has('mensagem_sucesso'))&lt;br /&gt;        &amp;lt;div class=&quot;alert alert-success&quot;&amp;gt;{{ Session::get('mensagem_sucesso') }}&amp;lt;/div&amp;gt;&lt;br /&gt;    @endif&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Vide:&lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=9qkWJ2ABNMc&quot;&gt;https://www.youtube.com/watch?v=9qkWJ2ABNMc&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=MZA-P_D1xIk&quot;&gt;https://www.youtube.com/watch?v=MZA-P_D1xIk&lt;/a&gt;&lt;/p&gt;


&lt;p&gt; &lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Convenções do Laravel</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/convencoes-do-laravel.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/convencoes-do-laravel.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Convenções no Laravel 5&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;O laravel tem bem pouca convenção e podemos facilmente trabalhar com ele sem convenção.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nome de tabela&lt;/strong&gt; - plural (clientes)&lt;br /&gt;model - singluar e CamelCase (Cliente)&lt;br /&gt;controller - CamelCase e plural (ClientesController)&lt;br /&gt;view - plural e minúsculas (clientes)&lt;br /&gt;A chave primária de cada tabela é ID&lt;br /&gt;Cada tabela contém os campos created_at e updated_at, que podem ser deixados de lado&lt;br /&gt;&lt;br /&gt;Não precisa seguir. Podemos arterar várias no model.&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;namespace App;&lt;br /&gt;use Illuminate\Database\Eloquent\Model;&lt;br /&gt;&lt;br /&gt;class Cliente extends Model&lt;br /&gt;{&lt;br /&gt;    protected $table = 'clientes';&lt;br /&gt;    protected $primaryKey = 'id';&lt;br /&gt;    protected $fillable = ['nome', 'email'];&lt;br /&gt;    public $timestamp = true;  &lt;br /&gt;    protected $connection = 'connection-name'; //Somente caso use uma conexão diferente da default&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Convenções no Laravel 5&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;O laravel tem bem pouca convenção e podemos facilmente trabalhar com ele sem convenção.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nome de tabela&lt;/strong&gt; - plural (clientes)&lt;br /&gt;model - singluar e CamelCase (Cliente)&lt;br /&gt;controller - CamelCase e plural (ClientesController)&lt;br /&gt;view - plural e minúsculas (clientes)&lt;br /&gt;A chave primária de cada tabela é ID&lt;br /&gt;Cada tabela contém os campos created_at e updated_at, que podem ser deixados de lado&lt;br /&gt;&lt;br /&gt;Não precisa seguir. Podemos arterar várias no model.&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;namespace App;&lt;br /&gt;use Illuminate\Database\Eloquent\Model;&lt;br /&gt;&lt;br /&gt;class Cliente extends Model&lt;br /&gt;{&lt;br /&gt;    protected $table = 'clientes';&lt;br /&gt;    protected $primaryKey = 'id';&lt;br /&gt;    protected $fillable = ['nome', 'email'];&lt;br /&gt;    public $timestamp = true;  &lt;br /&gt;    protected $connection = 'connection-name'; //Somente caso use uma conexão diferente da default&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Erros e Correções</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/erros-e-correcoes.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/erros-e-correcoes.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Quando aparecer apenas uma tela em branco no navegador&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Problema de permissão&lt;br /&gt;Configure as permissões&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Erro Ao executar o migrate&lt;/strong&gt; &lt;br /&gt;[Illuminate\Database\QueryException]                                         &lt;br /&gt;  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t  &lt;br /&gt;  oo long; max key length is 767 bytes (SQL: alter table `users` add unique `  &lt;br /&gt;  users_email_unique`(`email`))&lt;br /&gt;&lt;br /&gt;Alterar o arquivo &lt;br /&gt;app/Providers/AppServiceProvider.php&lt;br /&gt;&lt;br /&gt;use Illuminate\Support\Facades\Schema;&lt;br /&gt;&lt;br /&gt;   public function boot()&lt;br /&gt;    {&lt;br /&gt;        Schema::defaultStringLength(191);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Campo chave estrangeira&lt;/strong&gt;&lt;br /&gt;Todos os campos que serão a chave estrangeira de outra tabela,&lt;br /&gt;como user_id em pedidos devem aparecer na migration como -&amp;gt;unsigned()&lt;br /&gt;&lt;br /&gt;Erro de chaves&lt;br /&gt;&lt;br /&gt;Rodar&lt;br /&gt;php artisan key:generate&lt;br /&gt;php artisan config:clear&lt;br /&gt;&lt;br /&gt;'This cache store does not support tagging.&lt;br /&gt;&lt;br /&gt;Alterar de file para array em&lt;br /&gt;config/cache.php&lt;br /&gt;    'default' =&amp;gt; env('CACHE_DRIVER', 'array'),&lt;br /&gt;E no .env&lt;br /&gt;CACHE_DRIVER=array&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Relacionamentos&lt;/strong&gt;&lt;br /&gt;Quando tabelas se relacionarem, as tabelas primárias (que não tem campos de chaves estrangeiras), devem ter as datas mais antigas, para que sejam executadas primeiro pelo migrate, caso contrário o relacionamento não será permitido e as tabelas nãos erãoc riadas.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Quando aparecer apenas uma tela em branco no navegador&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Problema de permissão&lt;br /&gt;Configure as permissões&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Erro Ao executar o migrate&lt;/strong&gt; &lt;br /&gt;[Illuminate\Database\QueryException]                                         &lt;br /&gt;  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t  &lt;br /&gt;  oo long; max key length is 767 bytes (SQL: alter table `users` add unique `  &lt;br /&gt;  users_email_unique`(`email`))&lt;br /&gt;&lt;br /&gt;Alterar o arquivo &lt;br /&gt;app/Providers/AppServiceProvider.php&lt;br /&gt;&lt;br /&gt;use Illuminate\Support\Facades\Schema;&lt;br /&gt;&lt;br /&gt;   public function boot()&lt;br /&gt;    {&lt;br /&gt;        Schema::defaultStringLength(191);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Campo chave estrangeira&lt;/strong&gt;&lt;br /&gt;Todos os campos que serão a chave estrangeira de outra tabela,&lt;br /&gt;como user_id em pedidos devem aparecer na migration como -&amp;gt;unsigned()&lt;br /&gt;&lt;br /&gt;Erro de chaves&lt;br /&gt;&lt;br /&gt;Rodar&lt;br /&gt;php artisan key:generate&lt;br /&gt;php artisan config:clear&lt;br /&gt;&lt;br /&gt;'This cache store does not support tagging.&lt;br /&gt;&lt;br /&gt;Alterar de file para array em&lt;br /&gt;config/cache.php&lt;br /&gt;    'default' =&amp;gt; env('CACHE_DRIVER', 'array'),&lt;br /&gt;E no .env&lt;br /&gt;CACHE_DRIVER=array&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Relacionamentos&lt;/strong&gt;&lt;br /&gt;Quando tabelas se relacionarem, as tabelas primárias (que não tem campos de chaves estrangeiras), devem ter as datas mais antigas, para que sejam executadas primeiro pelo migrate, caso contrário o relacionamento não será permitido e as tabelas nãos erãoc riadas.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Faker com Laravel</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/faker-com-laravel.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/faker-com-laravel.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Usando o Faker para gerar dados de teste para as tabelas&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Detalhes sobre o Faker&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;https://github.com/fzaninotto/Faker&quot;&gt;https://github.com/fzaninotto/Faker&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Faker com seed&lt;/strong&gt;&lt;br /&gt;php artisan make:seeder ClientesTableSeeder&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Exemplos&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;use Illuminate\Database\Seeder;&lt;br /&gt;use Faker\Factory as Faker;&lt;br /&gt;&lt;br /&gt;class ClientesTableSeeder extends Seeder&lt;br /&gt;{&lt;br /&gt;    /**&lt;br /&gt;     * Run the database seeds.&lt;br /&gt;     *&lt;br /&gt;     * @return void&lt;br /&gt;     */&lt;br /&gt;    public function run()&lt;br /&gt;    {&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('clientes')-&amp;gt;insert([&lt;br /&gt;            'nome' =&amp;gt; $faker-&amp;gt;name,&lt;br /&gt;            'nascimento' =&amp;gt; $faker-&amp;gt;dateTime($max = 'now'),&lt;br /&gt;            'fone' =&amp;gt; $faker-&amp;gt;tollFreePhoneNumber,&lt;br /&gt;            'observacao' =&amp;gt; $faker-&amp;gt;catchPhrase,&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,5) as $index) {&lt;br /&gt;        DB::table('users')-&amp;gt;insert([&lt;br /&gt;            'name' =&amp;gt; $faker-&amp;gt;name,&lt;br /&gt;            'email' =&amp;gt; $faker-&amp;gt;email,&lt;br /&gt;            'password' =&amp;gt; bcrypt('123456'),&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('posts')-&amp;gt;insert([&lt;br /&gt;            'user_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 5),&lt;br /&gt;            'title' =&amp;gt; $faker-&amp;gt;name,&lt;br /&gt;            'description' =&amp;gt; $faker-&amp;gt;catchPhrase,&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('pedidos')-&amp;gt;insert([&lt;br /&gt;            'cliente_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 100),&lt;br /&gt;            'vendedore_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 100),&lt;br /&gt;            'data' =&amp;gt; $faker-&amp;gt;dateTime($max = 'now'),&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('pedido_itens')-&amp;gt;insert([&lt;br /&gt;            'estoque_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 100),&lt;br /&gt;            'quantidade' =&amp;gt; $faker-&amp;gt;regexify('[1-9]{2,4}'),&lt;br /&gt;            'preco' =&amp;gt; $faker-&amp;gt;regexify('[1-9]{4,6}'),&lt;br /&gt;            'pedido_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 100),&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Rodando o seed apenas na tabela Clientes&lt;/strong&gt;&lt;br /&gt;php artisan db:seed --class=ClientesTableSeeder&lt;br /&gt;&lt;br /&gt;               'first_name' =&amp;gt; $faker-&amp;gt;firstName,&lt;br /&gt;                'last_name' =&amp;gt; $faker-&amp;gt;lastName,&lt;br /&gt;                'username' =&amp;gt; str_replace('.', '_', $faker-&amp;gt;unique()-&amp;gt;userName),&lt;br /&gt;                'email' =&amp;gt; $faker-&amp;gt;email,&lt;br /&gt;                'password' =&amp;gt; $faker-&amp;gt;word,&lt;br /&gt;                'active' =&amp;gt; $faker-&amp;gt;boolean($chanceOfGettingTrue = 90),&lt;br /&gt;                'role_id' =&amp;gt; rand(3,5)&lt;br /&gt;                   'address' =&amp;gt; $faker-&amp;gt;address,&lt;br /&gt;                    'DOB' =&amp;gt; $faker-&amp;gt;date('Y-m-d')&lt;br /&gt;$faker-&amp;gt;randomNumber&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('clientes')-&amp;gt;insert([&lt;br /&gt;            'nome' =&amp;gt; $faker-&amp;gt;name,&lt;br /&gt;            'cpf' =&amp;gt; $faker-&amp;gt;numberBetween($min = 10000000000, $max = 90009999999),&lt;br /&gt;            'nascimento' =&amp;gt; $faker-&amp;gt;dateTime($max = 'now'),&lt;br /&gt;            'email' =&amp;gt; $faker-&amp;gt;email,&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Usando o Faker para gerar dados de teste para as tabelas&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Detalhes sobre o Faker&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;https://github.com/fzaninotto/Faker&quot;&gt;https://github.com/fzaninotto/Faker&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Faker com seed&lt;/strong&gt;&lt;br /&gt;php artisan make:seeder ClientesTableSeeder&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Exemplos&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;use Illuminate\Database\Seeder;&lt;br /&gt;use Faker\Factory as Faker;&lt;br /&gt;&lt;br /&gt;class ClientesTableSeeder extends Seeder&lt;br /&gt;{&lt;br /&gt;    /**&lt;br /&gt;     * Run the database seeds.&lt;br /&gt;     *&lt;br /&gt;     * @return void&lt;br /&gt;     */&lt;br /&gt;    public function run()&lt;br /&gt;    {&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('clientes')-&amp;gt;insert([&lt;br /&gt;            'nome' =&amp;gt; $faker-&amp;gt;name,&lt;br /&gt;            'nascimento' =&amp;gt; $faker-&amp;gt;dateTime($max = 'now'),&lt;br /&gt;            'fone' =&amp;gt; $faker-&amp;gt;tollFreePhoneNumber,&lt;br /&gt;            'observacao' =&amp;gt; $faker-&amp;gt;catchPhrase,&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,5) as $index) {&lt;br /&gt;        DB::table('users')-&amp;gt;insert([&lt;br /&gt;            'name' =&amp;gt; $faker-&amp;gt;name,&lt;br /&gt;            'email' =&amp;gt; $faker-&amp;gt;email,&lt;br /&gt;            'password' =&amp;gt; bcrypt('123456'),&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('posts')-&amp;gt;insert([&lt;br /&gt;            'user_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 5),&lt;br /&gt;            'title' =&amp;gt; $faker-&amp;gt;name,&lt;br /&gt;            'description' =&amp;gt; $faker-&amp;gt;catchPhrase,&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('pedidos')-&amp;gt;insert([&lt;br /&gt;            'cliente_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 100),&lt;br /&gt;            'vendedore_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 100),&lt;br /&gt;            'data' =&amp;gt; $faker-&amp;gt;dateTime($max = 'now'),&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('pedido_itens')-&amp;gt;insert([&lt;br /&gt;            'estoque_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 100),&lt;br /&gt;            'quantidade' =&amp;gt; $faker-&amp;gt;regexify('[1-9]{2,4}'),&lt;br /&gt;            'preco' =&amp;gt; $faker-&amp;gt;regexify('[1-9]{4,6}'),&lt;br /&gt;            'pedido_id' =&amp;gt; $faker-&amp;gt;numberBetween($min = 1, $max = 100),&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Rodando o seed apenas na tabela Clientes&lt;/strong&gt;&lt;br /&gt;php artisan db:seed --class=ClientesTableSeeder&lt;br /&gt;&lt;br /&gt;               'first_name' =&amp;gt; $faker-&amp;gt;firstName,&lt;br /&gt;                'last_name' =&amp;gt; $faker-&amp;gt;lastName,&lt;br /&gt;                'username' =&amp;gt; str_replace('.', '_', $faker-&amp;gt;unique()-&amp;gt;userName),&lt;br /&gt;                'email' =&amp;gt; $faker-&amp;gt;email,&lt;br /&gt;                'password' =&amp;gt; $faker-&amp;gt;word,&lt;br /&gt;                'active' =&amp;gt; $faker-&amp;gt;boolean($chanceOfGettingTrue = 90),&lt;br /&gt;                'role_id' =&amp;gt; rand(3,5)&lt;br /&gt;                   'address' =&amp;gt; $faker-&amp;gt;address,&lt;br /&gt;                    'DOB' =&amp;gt; $faker-&amp;gt;date('Y-m-d')&lt;br /&gt;$faker-&amp;gt;randomNumber&lt;br /&gt;&lt;br /&gt;      $faker = Faker::create();&lt;br /&gt;      foreach (range(1,100) as $index) {&lt;br /&gt;        DB::table('clientes')-&amp;gt;insert([&lt;br /&gt;            'nome' =&amp;gt; $faker-&amp;gt;name,&lt;br /&gt;            'cpf' =&amp;gt; $faker-&amp;gt;numberBetween($min = 10000000000, $max = 90009999999),&lt;br /&gt;            'nascimento' =&amp;gt; $faker-&amp;gt;dateTime($max = 'now'),&lt;br /&gt;            'email' =&amp;gt; $faker-&amp;gt;email,&lt;br /&gt;            'created_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString(),&lt;br /&gt;            'updated_at' =&amp;gt; \Carbon\Carbon::createFromDate(2017,05,24)-&amp;gt;toDateTimeString()&lt;br /&gt;        ]);&lt;br /&gt;      }&lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Fluxo de Informações</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/fluxo-de-informacoes.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/fluxo-de-informacoes.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Testando a comunicação entre Model e Controller&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;Passando variável do Model Post para o controller PostsController&lt;br /&gt;&lt;br /&gt;Model Post&lt;br /&gt;&lt;br /&gt;    public $msg='Ribamar';&lt;br /&gt;&lt;br /&gt;PostsController&lt;br /&gt;&lt;br /&gt;use App\Post;&lt;br /&gt;&lt;br /&gt;    public function index(Post $post)&lt;br /&gt;    {&lt;br /&gt;        $ms = $post-&amp;gt;msg;&lt;br /&gt;        print $ms;exit;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Caso não importe o model no início, podemos fazer assim:&lt;br /&gt;    public function index()&lt;br /&gt;    {&lt;br /&gt;        $post = new \App\Post;&lt;br /&gt;        $ms = $post-&amp;gt;msg;&lt;br /&gt;        print $ms;exit;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Passando um método do Model para o Controller&lt;br /&gt;&lt;br /&gt;Post&lt;br /&gt;    public function teste()&lt;br /&gt;    {&lt;br /&gt;        $var1 = 'João';&lt;br /&gt;        $var2 = 'Pedro';&lt;br /&gt;        $var3 = 'Joaquim';&lt;br /&gt;&lt;br /&gt;        return compact('var1','var2','var3');&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;PostsController&lt;br /&gt;&lt;br /&gt;use App\Post;&lt;br /&gt;    public function index(Post $post)&lt;br /&gt;    {&lt;br /&gt;            $ret= $post-&amp;gt;teste();&lt;br /&gt;&lt;br /&gt;print $ret['var1'].'&amp;lt;br&amp;gt;';&lt;br /&gt;print $ret['var2'].'&amp;lt;br&amp;gt;';&lt;br /&gt;print $ret['var3'];&lt;br /&gt;exit;&lt;br /&gt;        return 'Método index';&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Criar variável que fique disponível para todas as views&lt;br /&gt;&lt;br /&gt;app\Htpp\Controllers\Controller.php&lt;br /&gt;&lt;br /&gt;Adicionar:&lt;br /&gt;&lt;br /&gt;    function __construct()&lt;br /&gt;    {&lt;br /&gt;        return \View::share('usuario', 'Ribamar');&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Na View&lt;br /&gt;&lt;br /&gt;&amp;lt;h3&amp;gt;Usuário {{$usuario}}&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;Ou então usando o méetodo boot do app/Providers/AppServiceProvider.php&lt;br /&gt;&lt;br /&gt;    public function boot()&lt;br /&gt;    {&lt;br /&gt;        return \View::share('usuario', 'Ribamar');&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Na view&lt;br /&gt;&amp;lt;h3&amp;gt;Usuário {{$usuario}}&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Criar Controller base extendendo Controller&lt;br /&gt;E demais extendendo del&lt;br /&gt;&lt;br /&gt;class BasicoController extends Controller {&lt;br /&gt;&lt;br /&gt;    protected $cdata;&lt;br /&gt;&lt;br /&gt;    public function __construct()&lt;br /&gt;    {&lt;br /&gt;        $this-&amp;gt;cdata = 'Something';&lt;br /&gt;    }   &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class ClientesController extends BasicoController {&lt;br /&gt;&lt;br /&gt;    public function __construct() &lt;br /&gt;    {&lt;br /&gt;        parent::__construct();&lt;br /&gt;&lt;br /&gt;        dd($this-&amp;gt;cdata);&lt;br /&gt;    }   &lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Testando a comunicação entre Model e Controller&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;Passando variável do Model Post para o controller PostsController&lt;br /&gt;&lt;br /&gt;Model Post&lt;br /&gt;&lt;br /&gt;    public $msg='Ribamar';&lt;br /&gt;&lt;br /&gt;PostsController&lt;br /&gt;&lt;br /&gt;use App\Post;&lt;br /&gt;&lt;br /&gt;    public function index(Post $post)&lt;br /&gt;    {&lt;br /&gt;        $ms = $post-&amp;gt;msg;&lt;br /&gt;        print $ms;exit;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Caso não importe o model no início, podemos fazer assim:&lt;br /&gt;    public function index()&lt;br /&gt;    {&lt;br /&gt;        $post = new \App\Post;&lt;br /&gt;        $ms = $post-&amp;gt;msg;&lt;br /&gt;        print $ms;exit;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Passando um método do Model para o Controller&lt;br /&gt;&lt;br /&gt;Post&lt;br /&gt;    public function teste()&lt;br /&gt;    {&lt;br /&gt;        $var1 = 'João';&lt;br /&gt;        $var2 = 'Pedro';&lt;br /&gt;        $var3 = 'Joaquim';&lt;br /&gt;&lt;br /&gt;        return compact('var1','var2','var3');&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;PostsController&lt;br /&gt;&lt;br /&gt;use App\Post;&lt;br /&gt;    public function index(Post $post)&lt;br /&gt;    {&lt;br /&gt;            $ret= $post-&amp;gt;teste();&lt;br /&gt;&lt;br /&gt;print $ret['var1'].'&amp;lt;br&amp;gt;';&lt;br /&gt;print $ret['var2'].'&amp;lt;br&amp;gt;';&lt;br /&gt;print $ret['var3'];&lt;br /&gt;exit;&lt;br /&gt;        return 'Método index';&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Criar variável que fique disponível para todas as views&lt;br /&gt;&lt;br /&gt;app\Htpp\Controllers\Controller.php&lt;br /&gt;&lt;br /&gt;Adicionar:&lt;br /&gt;&lt;br /&gt;    function __construct()&lt;br /&gt;    {&lt;br /&gt;        return \View::share('usuario', 'Ribamar');&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Na View&lt;br /&gt;&lt;br /&gt;&amp;lt;h3&amp;gt;Usuário {{$usuario}}&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;Ou então usando o méetodo boot do app/Providers/AppServiceProvider.php&lt;br /&gt;&lt;br /&gt;    public function boot()&lt;br /&gt;    {&lt;br /&gt;        return \View::share('usuario', 'Ribamar');&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Na view&lt;br /&gt;&amp;lt;h3&amp;gt;Usuário {{$usuario}}&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Criar Controller base extendendo Controller&lt;br /&gt;E demais extendendo del&lt;br /&gt;&lt;br /&gt;class BasicoController extends Controller {&lt;br /&gt;&lt;br /&gt;    protected $cdata;&lt;br /&gt;&lt;br /&gt;    public function __construct()&lt;br /&gt;    {&lt;br /&gt;        $this-&amp;gt;cdata = 'Something';&lt;br /&gt;    }   &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class ClientesController extends BasicoController {&lt;br /&gt;&lt;br /&gt;    public function __construct() &lt;br /&gt;    {&lt;br /&gt;        parent::__construct();&lt;br /&gt;&lt;br /&gt;        dd($this-&amp;gt;cdata);&lt;br /&gt;    }   &lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Template no Laravel</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/template-no-laravel.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/template-no-laravel.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Sistema de Template do Laravel 5, que é o Blade&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Criar uma pasta template ou layouts dentro da pasta views&lt;br /&gt;&lt;br /&gt;Criar um template nesta pasta:&lt;br /&gt;&lt;br /&gt;template1.blade.php&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;    &amp;lt;head&amp;gt;&lt;br /&gt;        &amp;lt;title&amp;gt;{{$title or 'Curso de Laravel 5.3'}}&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;/head&amp;gt;&lt;br /&gt;    &amp;lt;body&amp;gt;&lt;br /&gt;        @yeld('content')&lt;br /&gt;    &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;Vamos usar o template acima na pasta home&lt;br /&gt;&lt;br /&gt;Criar index.blade.php&lt;br /&gt;&lt;br /&gt;@extends('site.template.template1')&lt;br /&gt;&lt;br /&gt;@section('content')&lt;br /&gt;&lt;br /&gt;&amp;lt;h1&amp;gt;Home page do site&amp;lt;/h1&amp;gt;&lt;br /&gt;&lt;br /&gt;{{$var1 or 'Não existe'}}&lt;br /&gt;&lt;br /&gt;@endsection&lt;br /&gt;&lt;br /&gt;Rodar código JavaScript/HTML&lt;br /&gt;&lt;br /&gt;{!! $xss !!}&lt;br /&gt;&lt;br /&gt;Controles no Template&lt;br /&gt;&lt;br /&gt;@section('content')&lt;br /&gt;&lt;br /&gt;@if ($var1 == '123')&lt;br /&gt;&lt;br /&gt;É igual&lt;br /&gt;@endif&lt;br /&gt;&lt;br /&gt;@endsection&lt;br /&gt;&lt;br /&gt;@for($i;$&amp;lt;10;$i++)&lt;br /&gt;&lt;br /&gt;@foreach($posts as $post)&lt;br /&gt;&lt;br /&gt;@forelse&lt;br /&gt;&lt;br /&gt;Comentários&lt;br /&gt;&lt;br /&gt;{{--&lt;br /&gt;comentado&lt;br /&gt;&lt;br /&gt;--}}&lt;br /&gt;&lt;br /&gt;@php&lt;br /&gt;&lt;br /&gt;@endphp&lt;br /&gt;&lt;br /&gt;Includes&lt;br /&gt;&lt;br /&gt;@include('site.includes.sidebar', compact('var1'))&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=4RQX3nLBx8E&amp;amp;index=9&amp;amp;list=PLVSNL1PHDWvR3PeLXz6nvBkDhv1IQk4wP&quot;&gt;https://www.youtube.com/watch?v=4RQX3nLBx8E&amp;amp;index=9&amp;amp;list=PLVSNL1PHDWvR3PeLXz6nvBkDhv1IQk4wP&lt;/a&gt;&lt;/p&gt;


&lt;p&gt; &lt;/p&gt;


&lt;p&gt;Detalhes em:&lt;br /&gt;https://laravel.com/docs/5.4/blade&lt;br /&gt;&lt;br /&gt;@section('title', '| Criar novo Post');&lt;br /&gt;&lt;br /&gt;Criar select vindo do banco:&lt;br /&gt;&lt;br /&gt;&amp;lt;select id=&quot;role&quot; class=&quot;form-control&quot; name=&quot;role&quot; required&amp;gt;&lt;br /&gt;    @foreach($roles as $id =&amp;gt; $role)&lt;br /&gt;        &amp;lt;option value=&quot;{{$id}}&quot;&amp;gt;{{$role}}&amp;lt;/option&amp;gt;&lt;br /&gt;    @endforeach&lt;br /&gt;&amp;lt;/select&amp;gt;&lt;br /&gt;&lt;br /&gt;@extends('layouts.app') &amp;lt;!-- importa o arquivo app.blade.php da pasta layouts --&amp;gt;&lt;br /&gt;&lt;br /&gt;@section('sidebar')&lt;br /&gt;   This is the master sidebar.&lt;br /&gt;@show&lt;br /&gt;&lt;br /&gt;@for ($i = 0; $i &amp;lt; 10; $i++)&lt;br /&gt;    The current value is {{ $i }}&lt;br /&gt;@endfor&lt;br /&gt;&lt;br /&gt;@foreach ($users as $user)&lt;br /&gt;    @if ($user-&amp;gt;type == 1)&lt;br /&gt;        @continue&lt;br /&gt;    @endif&lt;br /&gt;&lt;br /&gt;    &amp;lt;li&amp;gt;{{ $user-&amp;gt;name }}&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt;    @if ($user-&amp;gt;number == 5)&lt;br /&gt;        @break&lt;br /&gt;    @endif&lt;br /&gt;@endforeach&lt;br /&gt;&lt;br /&gt;@forelse ($users as $user)&lt;br /&gt;    &amp;lt;li&amp;gt;{{ $user-&amp;gt;name }}&amp;lt;/li&amp;gt;&lt;br /&gt;@empty&lt;br /&gt;    &amp;lt;p&amp;gt;No users&amp;lt;/p&amp;gt;&lt;br /&gt;@endforelse&lt;br /&gt;&lt;br /&gt;@while (true)&lt;br /&gt;    &amp;lt;p&amp;gt;I'm looping forever.&amp;lt;/p&amp;gt;&lt;br /&gt;@endwhile&lt;br /&gt;&lt;br /&gt;@if (count($records) === 1)&lt;br /&gt;    I have one record!&lt;br /&gt;@elseif (count($records) &amp;gt; 1)&lt;br /&gt;    I have multiple records!&lt;br /&gt;@else&lt;br /&gt;    I don't have any records!&lt;br /&gt;@endif&lt;br /&gt;&lt;br /&gt;@isset($records)&lt;br /&gt;    // $records is defined and is not null...&lt;br /&gt;@endisset&lt;br /&gt;&lt;br /&gt;@empty($records)&lt;br /&gt;    // $records is &quot;empty&quot;...&lt;br /&gt;@endempty&lt;br /&gt;&lt;br /&gt;@can('update', $post)&lt;br /&gt;&lt;br /&gt;@endcan&lt;br /&gt;&lt;br /&gt;@role('admin') // @if(Auth::check() &amp;amp;&amp;amp; Auth::user()-&amp;gt;is('admin'))&lt;br /&gt;    // user is admin&lt;br /&gt;@endrole&lt;br /&gt;&lt;br /&gt;@permission('edit.articles') // @if(Auth::check() &amp;amp;&amp;amp; Auth::user()-&amp;gt;can('edit.articles'))&lt;br /&gt;    // user can edit articles&lt;br /&gt;@endpermission&lt;br /&gt;&lt;br /&gt;@allowed('edit', $article) // @if(Auth::check() &amp;amp;&amp;amp; Auth::user()-&amp;gt;allowed('edit', $article))&lt;br /&gt;    // show edit button&lt;br /&gt;@endallowed&lt;br /&gt;&lt;br /&gt;@role('admin|moderator', 'all') // @if(Auth::check() &amp;amp;&amp;amp; Auth::user()-&amp;gt;is('admin|moderator', 'all'))&lt;br /&gt;    // user is admin and also moderator&lt;br /&gt;@else&lt;br /&gt;    // something else&lt;br /&gt;@endrole&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Forms&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Value guardar o valor digitado&lt;br /&gt;&amp;lt;input type=&quot;text&quot; name=&quot;username&quot; value=&quot;{{ old('username') }}&quot;&amp;gt;&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Sistema de Template do Laravel 5, que é o Blade&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Criar uma pasta template ou layouts dentro da pasta views&lt;br /&gt;&lt;br /&gt;Criar um template nesta pasta:&lt;br /&gt;&lt;br /&gt;template1.blade.php&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;    &amp;lt;head&amp;gt;&lt;br /&gt;        &amp;lt;title&amp;gt;{{$title or 'Curso de Laravel 5.3'}}&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;/head&amp;gt;&lt;br /&gt;    &amp;lt;body&amp;gt;&lt;br /&gt;        @yeld('content')&lt;br /&gt;    &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;Vamos usar o template acima na pasta home&lt;br /&gt;&lt;br /&gt;Criar index.blade.php&lt;br /&gt;&lt;br /&gt;@extends('site.template.template1')&lt;br /&gt;&lt;br /&gt;@section('content')&lt;br /&gt;&lt;br /&gt;&amp;lt;h1&amp;gt;Home page do site&amp;lt;/h1&amp;gt;&lt;br /&gt;&lt;br /&gt;{{$var1 or 'Não existe'}}&lt;br /&gt;&lt;br /&gt;@endsection&lt;br /&gt;&lt;br /&gt;Rodar código JavaScript/HTML&lt;br /&gt;&lt;br /&gt;{!! $xss !!}&lt;br /&gt;&lt;br /&gt;Controles no Template&lt;br /&gt;&lt;br /&gt;@section('content')&lt;br /&gt;&lt;br /&gt;@if ($var1 == '123')&lt;br /&gt;&lt;br /&gt;É igual&lt;br /&gt;@endif&lt;br /&gt;&lt;br /&gt;@endsection&lt;br /&gt;&lt;br /&gt;@for($i;$&amp;lt;10;$i++)&lt;br /&gt;&lt;br /&gt;@foreach($posts as $post)&lt;br /&gt;&lt;br /&gt;@forelse&lt;br /&gt;&lt;br /&gt;Comentários&lt;br /&gt;&lt;br /&gt;{{--&lt;br /&gt;comentado&lt;br /&gt;&lt;br /&gt;--}}&lt;br /&gt;&lt;br /&gt;@php&lt;br /&gt;&lt;br /&gt;@endphp&lt;br /&gt;&lt;br /&gt;Includes&lt;br /&gt;&lt;br /&gt;@include('site.includes.sidebar', compact('var1'))&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=4RQX3nLBx8E&amp;amp;index=9&amp;amp;list=PLVSNL1PHDWvR3PeLXz6nvBkDhv1IQk4wP&quot;&gt;https://www.youtube.com/watch?v=4RQX3nLBx8E&amp;amp;index=9&amp;amp;list=PLVSNL1PHDWvR3PeLXz6nvBkDhv1IQk4wP&lt;/a&gt;&lt;/p&gt;


&lt;p&gt; &lt;/p&gt;


&lt;p&gt;Detalhes em:&lt;br /&gt;https://laravel.com/docs/5.4/blade&lt;br /&gt;&lt;br /&gt;@section('title', '| Criar novo Post');&lt;br /&gt;&lt;br /&gt;Criar select vindo do banco:&lt;br /&gt;&lt;br /&gt;&amp;lt;select id=&quot;role&quot; class=&quot;form-control&quot; name=&quot;role&quot; required&amp;gt;&lt;br /&gt;    @foreach($roles as $id =&amp;gt; $role)&lt;br /&gt;        &amp;lt;option value=&quot;{{$id}}&quot;&amp;gt;{{$role}}&amp;lt;/option&amp;gt;&lt;br /&gt;    @endforeach&lt;br /&gt;&amp;lt;/select&amp;gt;&lt;br /&gt;&lt;br /&gt;@extends('layouts.app') &amp;lt;!-- importa o arquivo app.blade.php da pasta layouts --&amp;gt;&lt;br /&gt;&lt;br /&gt;@section('sidebar')&lt;br /&gt;   This is the master sidebar.&lt;br /&gt;@show&lt;br /&gt;&lt;br /&gt;@for ($i = 0; $i &amp;lt; 10; $i++)&lt;br /&gt;    The current value is {{ $i }}&lt;br /&gt;@endfor&lt;br /&gt;&lt;br /&gt;@foreach ($users as $user)&lt;br /&gt;    @if ($user-&amp;gt;type == 1)&lt;br /&gt;        @continue&lt;br /&gt;    @endif&lt;br /&gt;&lt;br /&gt;    &amp;lt;li&amp;gt;{{ $user-&amp;gt;name }}&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt;    @if ($user-&amp;gt;number == 5)&lt;br /&gt;        @break&lt;br /&gt;    @endif&lt;br /&gt;@endforeach&lt;br /&gt;&lt;br /&gt;@forelse ($users as $user)&lt;br /&gt;    &amp;lt;li&amp;gt;{{ $user-&amp;gt;name }}&amp;lt;/li&amp;gt;&lt;br /&gt;@empty&lt;br /&gt;    &amp;lt;p&amp;gt;No users&amp;lt;/p&amp;gt;&lt;br /&gt;@endforelse&lt;br /&gt;&lt;br /&gt;@while (true)&lt;br /&gt;    &amp;lt;p&amp;gt;I'm looping forever.&amp;lt;/p&amp;gt;&lt;br /&gt;@endwhile&lt;br /&gt;&lt;br /&gt;@if (count($records) === 1)&lt;br /&gt;    I have one record!&lt;br /&gt;@elseif (count($records) &amp;gt; 1)&lt;br /&gt;    I have multiple records!&lt;br /&gt;@else&lt;br /&gt;    I don't have any records!&lt;br /&gt;@endif&lt;br /&gt;&lt;br /&gt;@isset($records)&lt;br /&gt;    // $records is defined and is not null...&lt;br /&gt;@endisset&lt;br /&gt;&lt;br /&gt;@empty($records)&lt;br /&gt;    // $records is &quot;empty&quot;...&lt;br /&gt;@endempty&lt;br /&gt;&lt;br /&gt;@can('update', $post)&lt;br /&gt;&lt;br /&gt;@endcan&lt;br /&gt;&lt;br /&gt;@role('admin') // @if(Auth::check() &amp;amp;&amp;amp; Auth::user()-&amp;gt;is('admin'))&lt;br /&gt;    // user is admin&lt;br /&gt;@endrole&lt;br /&gt;&lt;br /&gt;@permission('edit.articles') // @if(Auth::check() &amp;amp;&amp;amp; Auth::user()-&amp;gt;can('edit.articles'))&lt;br /&gt;    // user can edit articles&lt;br /&gt;@endpermission&lt;br /&gt;&lt;br /&gt;@allowed('edit', $article) // @if(Auth::check() &amp;amp;&amp;amp; Auth::user()-&amp;gt;allowed('edit', $article))&lt;br /&gt;    // show edit button&lt;br /&gt;@endallowed&lt;br /&gt;&lt;br /&gt;@role('admin|moderator', 'all') // @if(Auth::check() &amp;amp;&amp;amp; Auth::user()-&amp;gt;is('admin|moderator', 'all'))&lt;br /&gt;    // user is admin and also moderator&lt;br /&gt;@else&lt;br /&gt;    // something else&lt;br /&gt;@endrole&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Forms&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Value guardar o valor digitado&lt;br /&gt;&amp;lt;input type=&quot;text&quot; name=&quot;username&quot; value=&quot;{{ old('username') }}&quot;&amp;gt;&lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Tinker com Laravel</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/tinker-com-laravel.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/tinker-com-laravel.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Tinker é um programa do PHP, que cria um shell para execução de comandos PHP.&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Console interativa do php&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Executar:&lt;br /&gt;php artisan tinker&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Exemplos de Comandos&lt;/strong&gt;&lt;br /&gt;use App\Post;&lt;br /&gt;Post::create(['title'=&amp;gt;'Título do Post', 'content'=&amp;gt;'Conteúdo do Post']);&lt;br /&gt;&lt;br /&gt;Post::create(['title'=&amp;gt;'Título do Post2', 'content'=&amp;gt;'Conteúdo do Post2']);&lt;br /&gt;&lt;br /&gt;use App\Comment;&lt;br /&gt;Comment::create(['post_id'=&amp;gt;1, 'comment'=&amp;gt;'Comentário']);&lt;br /&gt;&lt;br /&gt;$p = Post::find(1);&lt;br /&gt;&lt;br /&gt;$p-&amp;gt;comments; //Lista comentários do post acima, pois estão relacionados&lt;br /&gt;&lt;br /&gt;$c = Comment::find(1);&lt;br /&gt;&lt;br /&gt;$c-&amp;gt;post // Trará o post relacionado com o comentário&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;$user = App\User::find(1);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$c-&amp;gt;post-&amp;gt;title;&lt;br /&gt;&lt;br /&gt;// see the count of all users&lt;br /&gt;App\User::count();&lt;br /&gt;&lt;br /&gt;// find a specific user and see their attributes&lt;br /&gt;App\User::where('username', 'samuel')-&amp;gt;first();&lt;br /&gt;&lt;br /&gt;// find the relationships of a user&lt;br /&gt;$user = App\User::with('posts')-&amp;gt;first();&lt;br /&gt;$user-&amp;gt;posts;&lt;br /&gt;&lt;br /&gt;App\User::all();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Criar novo user&lt;/strong&gt;&lt;br /&gt;$user = new App\User;&lt;br /&gt;$user-&amp;gt;name = &quot;Wruce Bayne&quot;;&lt;br /&gt;$user-&amp;gt;email = &quot;iambatman@savegotham.com&quot;;&lt;br /&gt;$user-&amp;gt;password = Hash::make('123456');&lt;br /&gt;$user-&amp;gt;save();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Deletando&lt;/strong&gt;&lt;br /&gt;$user = App\User::find(1);&lt;br /&gt;$user-&amp;gt;delete();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class Order extends Eloquent {}&lt;/strong&gt;&lt;br /&gt;$order = new Order;&lt;br /&gt;$order-&amp;gt;title = 'Xbox One';&lt;br /&gt;$order-&amp;gt;save();&lt;br /&gt;&lt;br /&gt;echo Config::get('app.url');&lt;br /&gt;&lt;br /&gt;use App\Role;&lt;br /&gt;$r = new Role;&lt;br /&gt;&lt;br /&gt;$r-&amp;gt;name = 'Admin';&lt;br /&gt;$r-&amp;gt;slug = 'admin';&lt;br /&gt;$r-&amp;gt;description = 'manager admin privilege';&lt;br /&gt;$r-&amp;gt;save();&lt;br /&gt;&lt;br /&gt;Atualização&lt;br /&gt;$r = new Role();&lt;br /&gt;$r-&amp;gt;update(['id' =&amp;gt;1,'description'=&amp;gt;'manage super privilege']);&lt;br /&gt;&lt;br /&gt; use App\Role;&lt;br /&gt;$r = Role::create(['id'=&amp;gt;2, 'name'=&amp;gt;'Manager', 'slug'=&amp;gt;'manager','description'=&amp;gt;'manager manager privilege']);&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Tinker é um programa do PHP, que cria um shell para execução de comandos PHP.&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Console interativa do php&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Executar:&lt;br /&gt;php artisan tinker&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Exemplos de Comandos&lt;/strong&gt;&lt;br /&gt;use App\Post;&lt;br /&gt;Post::create(['title'=&amp;gt;'Título do Post', 'content'=&amp;gt;'Conteúdo do Post']);&lt;br /&gt;&lt;br /&gt;Post::create(['title'=&amp;gt;'Título do Post2', 'content'=&amp;gt;'Conteúdo do Post2']);&lt;br /&gt;&lt;br /&gt;use App\Comment;&lt;br /&gt;Comment::create(['post_id'=&amp;gt;1, 'comment'=&amp;gt;'Comentário']);&lt;br /&gt;&lt;br /&gt;$p = Post::find(1);&lt;br /&gt;&lt;br /&gt;$p-&amp;gt;comments; //Lista comentários do post acima, pois estão relacionados&lt;br /&gt;&lt;br /&gt;$c = Comment::find(1);&lt;br /&gt;&lt;br /&gt;$c-&amp;gt;post // Trará o post relacionado com o comentário&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;$user = App\User::find(1);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$c-&amp;gt;post-&amp;gt;title;&lt;br /&gt;&lt;br /&gt;// see the count of all users&lt;br /&gt;App\User::count();&lt;br /&gt;&lt;br /&gt;// find a specific user and see their attributes&lt;br /&gt;App\User::where('username', 'samuel')-&amp;gt;first();&lt;br /&gt;&lt;br /&gt;// find the relationships of a user&lt;br /&gt;$user = App\User::with('posts')-&amp;gt;first();&lt;br /&gt;$user-&amp;gt;posts;&lt;br /&gt;&lt;br /&gt;App\User::all();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Criar novo user&lt;/strong&gt;&lt;br /&gt;$user = new App\User;&lt;br /&gt;$user-&amp;gt;name = &quot;Wruce Bayne&quot;;&lt;br /&gt;$user-&amp;gt;email = &quot;iambatman@savegotham.com&quot;;&lt;br /&gt;$user-&amp;gt;password = Hash::make('123456');&lt;br /&gt;$user-&amp;gt;save();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Deletando&lt;/strong&gt;&lt;br /&gt;$user = App\User::find(1);&lt;br /&gt;$user-&amp;gt;delete();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class Order extends Eloquent {}&lt;/strong&gt;&lt;br /&gt;$order = new Order;&lt;br /&gt;$order-&amp;gt;title = 'Xbox One';&lt;br /&gt;$order-&amp;gt;save();&lt;br /&gt;&lt;br /&gt;echo Config::get('app.url');&lt;br /&gt;&lt;br /&gt;use App\Role;&lt;br /&gt;$r = new Role;&lt;br /&gt;&lt;br /&gt;$r-&amp;gt;name = 'Admin';&lt;br /&gt;$r-&amp;gt;slug = 'admin';&lt;br /&gt;$r-&amp;gt;description = 'manager admin privilege';&lt;br /&gt;$r-&amp;gt;save();&lt;br /&gt;&lt;br /&gt;Atualização&lt;br /&gt;$r = new Role();&lt;br /&gt;$r-&amp;gt;update(['id' =&amp;gt;1,'description'=&amp;gt;'manage super privilege']);&lt;br /&gt;&lt;br /&gt; use App\Role;&lt;br /&gt;$r = Role::create(['id'=&amp;gt;2, 'name'=&amp;gt;'Manager', 'slug'=&amp;gt;'manager','description'=&amp;gt;'manager manager privilege']);&lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
	<entry>
		<title>Validações no Laravel</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/frameworks/laravel-5/dicas/validacoes-no-laravel.html"/>
		<published>2017-06-25T21:08:35-03:00</published>
		<updated>2017-06-25T21:08:35-03:00</updated>
		<id>http://backup/portal/frameworks/laravel-5/dicas/validacoes-no-laravel.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Validação de dados&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;É importante validar todos os dados vindos de formulários.&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;No método store (que é o form para Add Novo) do controller Clientes e no edit, que é o form de edição&lt;br /&gt;&lt;br /&gt;    public function store(Request $request)&lt;br /&gt;    {&lt;br /&gt;        &lt;br /&gt;        $requestData = $request-&amp;gt;all();&lt;br /&gt;&lt;br /&gt;        // Validação&lt;br /&gt;         $this-&amp;gt;validate($request, [&lt;br /&gt;            'nome' =&amp;gt; 'required|min:3|max:45',&lt;br /&gt;            'cpf' =&amp;gt; 'min:11|max:11|unique:clientes',&lt;br /&gt;            'nascimento' =&amp;gt; 'date|date_format:Y-m-d' // nullable| torna opcional&lt;br /&gt;        ],[        // Mensagens&lt;br /&gt;                'nome.required' =&amp;gt; ' O nome é obrigatório.',&lt;br /&gt;                'cpf.required' =&amp;gt; ' O CPF é obrigatório.',&lt;br /&gt;                'cpf.min' =&amp;gt; ' O CPF precisa ter 11 dígitos.',&lt;br /&gt;                'nascimento.date' =&amp;gt; 'Nascimento precisa ter uma data válida e Y-m-d'&lt;br /&gt;        ]);&lt;br /&gt;        &lt;br /&gt;        Cliente::create($requestData);&lt;br /&gt;&lt;br /&gt;        Session::flash('flash_message', 'Cliente added!');&lt;br /&gt;&lt;br /&gt;        return redirect('clientes');&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public function messages()&lt;br /&gt;{&lt;br /&gt;    return [&lt;br /&gt;        'cpf.cpf' =&amp;gt; 'CPF inválido'&lt;br /&gt;    ];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public $rules = [&lt;br /&gt;    'nome' =&amp;gt; 'required|min:3|max:45',&lt;br /&gt;    'cpf' =&amp;gt; 'min:11|max:11|unique',&lt;br /&gt;    'nascimento' =&amp;gt; 'date|date_format:Y-m-d',&lt;br /&gt;    'email' =&amp;gt; 'required|email|unique:users, email,'.$id,&lt;br /&gt;    'password' =&amp;gt; 'required|same:confirm-password',&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;numero =&amp;gt; numeric&lt;br /&gt;'email'            =&amp;gt; 'required|email|unique:clientes',&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Validação via rules&lt;br /&gt;&lt;br /&gt;Route::post('clientes', function()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    // process the form here&lt;br /&gt;&lt;br /&gt;    // create the validation rules ------------------------&lt;br /&gt;    $rules = array(&lt;br /&gt;            'nome' =&amp;gt; 'required|min:3|max:45',&lt;br /&gt;            'cpf' =&amp;gt; 'min:11|max:11|unique:clientes',&lt;br /&gt;            'nascimento' =&amp;gt; 'nullable|date|date_format:Y-m-d'&lt;br /&gt;            'email' =&amp;gt; 'required|email|unique:clientes',&lt;br /&gt;    );&lt;br /&gt;&lt;br /&gt;    // do the validation ----------------------------------&lt;br /&gt;    // validate against the inputs from our form&lt;br /&gt;    $validator = Validator::make(Input::all(), $rules);&lt;br /&gt;&lt;br /&gt;    // check if the validator failed -----------------------&lt;br /&gt;    if ($validator-&amp;gt;fails()) {&lt;br /&gt;&lt;br /&gt;        // get the error messages from the validator&lt;br /&gt;        $messages = $validator-&amp;gt;messages();&lt;br /&gt;&lt;br /&gt;        // redirect our user back to the form with the errors from the validator&lt;br /&gt;        return Redirect::to('clientes')&lt;br /&gt;            -&amp;gt;withErrors($validator);&lt;br /&gt;&lt;br /&gt;    } else {&lt;br /&gt;        // validation successful ---------------------------&lt;br /&gt;&lt;br /&gt;        // our cliente has passed all tests!&lt;br /&gt;        // let him enter the database&lt;br /&gt;&lt;br /&gt;        // create the data for our cliente&lt;br /&gt;        $cliente = new Cliente;&lt;br /&gt;        $cliente-&amp;gt;nome     = Input::get('nome');&lt;br /&gt;        $cliente-&amp;gt;cpf    = Input::get('cpf');&lt;br /&gt;        $cliente-&amp;gt;nascimento     = Input::get('nascimento');&lt;br /&gt;        $cliente-&amp;gt;email    = Input::get('email');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        // save our cliente&lt;br /&gt;        $cliente-&amp;gt;save();&lt;br /&gt;&lt;br /&gt;        // redirect ----------------------------------------&lt;br /&gt;        // redirect our user back to the form so they can do it all over again&lt;br /&gt;        return Redirect::to('clientes');&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;});&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Validação de dados&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;É importante validar todos os dados vindos de formulários.&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;No método store (que é o form para Add Novo) do controller Clientes e no edit, que é o form de edição&lt;br /&gt;&lt;br /&gt;    public function store(Request $request)&lt;br /&gt;    {&lt;br /&gt;        &lt;br /&gt;        $requestData = $request-&amp;gt;all();&lt;br /&gt;&lt;br /&gt;        // Validação&lt;br /&gt;         $this-&amp;gt;validate($request, [&lt;br /&gt;            'nome' =&amp;gt; 'required|min:3|max:45',&lt;br /&gt;            'cpf' =&amp;gt; 'min:11|max:11|unique:clientes',&lt;br /&gt;            'nascimento' =&amp;gt; 'date|date_format:Y-m-d' // nullable| torna opcional&lt;br /&gt;        ],[        // Mensagens&lt;br /&gt;                'nome.required' =&amp;gt; ' O nome é obrigatório.',&lt;br /&gt;                'cpf.required' =&amp;gt; ' O CPF é obrigatório.',&lt;br /&gt;                'cpf.min' =&amp;gt; ' O CPF precisa ter 11 dígitos.',&lt;br /&gt;                'nascimento.date' =&amp;gt; 'Nascimento precisa ter uma data válida e Y-m-d'&lt;br /&gt;        ]);&lt;br /&gt;        &lt;br /&gt;        Cliente::create($requestData);&lt;br /&gt;&lt;br /&gt;        Session::flash('flash_message', 'Cliente added!');&lt;br /&gt;&lt;br /&gt;        return redirect('clientes');&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public function messages()&lt;br /&gt;{&lt;br /&gt;    return [&lt;br /&gt;        'cpf.cpf' =&amp;gt; 'CPF inválido'&lt;br /&gt;    ];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public $rules = [&lt;br /&gt;    'nome' =&amp;gt; 'required|min:3|max:45',&lt;br /&gt;    'cpf' =&amp;gt; 'min:11|max:11|unique',&lt;br /&gt;    'nascimento' =&amp;gt; 'date|date_format:Y-m-d',&lt;br /&gt;    'email' =&amp;gt; 'required|email|unique:users, email,'.$id,&lt;br /&gt;    'password' =&amp;gt; 'required|same:confirm-password',&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;numero =&amp;gt; numeric&lt;br /&gt;'email'            =&amp;gt; 'required|email|unique:clientes',&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Validação via rules&lt;br /&gt;&lt;br /&gt;Route::post('clientes', function()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    // process the form here&lt;br /&gt;&lt;br /&gt;    // create the validation rules ------------------------&lt;br /&gt;    $rules = array(&lt;br /&gt;            'nome' =&amp;gt; 'required|min:3|max:45',&lt;br /&gt;            'cpf' =&amp;gt; 'min:11|max:11|unique:clientes',&lt;br /&gt;            'nascimento' =&amp;gt; 'nullable|date|date_format:Y-m-d'&lt;br /&gt;            'email' =&amp;gt; 'required|email|unique:clientes',&lt;br /&gt;    );&lt;br /&gt;&lt;br /&gt;    // do the validation ----------------------------------&lt;br /&gt;    // validate against the inputs from our form&lt;br /&gt;    $validator = Validator::make(Input::all(), $rules);&lt;br /&gt;&lt;br /&gt;    // check if the validator failed -----------------------&lt;br /&gt;    if ($validator-&amp;gt;fails()) {&lt;br /&gt;&lt;br /&gt;        // get the error messages from the validator&lt;br /&gt;        $messages = $validator-&amp;gt;messages();&lt;br /&gt;&lt;br /&gt;        // redirect our user back to the form with the errors from the validator&lt;br /&gt;        return Redirect::to('clientes')&lt;br /&gt;            -&amp;gt;withErrors($validator);&lt;br /&gt;&lt;br /&gt;    } else {&lt;br /&gt;        // validation successful ---------------------------&lt;br /&gt;&lt;br /&gt;        // our cliente has passed all tests!&lt;br /&gt;        // let him enter the database&lt;br /&gt;&lt;br /&gt;        // create the data for our cliente&lt;br /&gt;        $cliente = new Cliente;&lt;br /&gt;        $cliente-&amp;gt;nome     = Input::get('nome');&lt;br /&gt;        $cliente-&amp;gt;cpf    = Input::get('cpf');&lt;br /&gt;        $cliente-&amp;gt;nascimento     = Input::get('nascimento');&lt;br /&gt;        $cliente-&amp;gt;email    = Input::get('email');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        // save our cliente&lt;br /&gt;        $cliente-&amp;gt;save();&lt;br /&gt;&lt;br /&gt;        // redirect ----------------------------------------&lt;br /&gt;        // redirect our user back to the form so they can do it all over again&lt;br /&gt;        return Redirect::to('clientes');&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;});&lt;/p&gt;</content>
		<category term="Dicas" />
	</entry>
</feed>
