<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Dicas - RibaFS Portal</title>
		<description><![CDATA[Servidores linux, Programação web (PHP, Joomla, CakePHP, Laravel), Programação Mobile (Phaser, PhoneGap, Monaca, Unity, etc) entre outros.]]></description>
		<link>http://backup/portal/frameworks/laravel-5/dicas.html</link>
		<lastBuildDate>Sat, 07 Sep 2019 18:59:55 -0300</lastBuildDate>
		<generator>Joomla! - Open Source Content Management</generator>
		<atom:link rel="self" type="application/rss+xml" href="http://backup/portal/frameworks/laravel-5/dicas.feed?type=rss"/>
		<language>pt-br</language>
		<item>
			<title>MVC no Laravel 5</title>
			<link>http://backup/portal/frameworks/laravel-5/dicas/mvc-no-laravel-5.html</link>
			<guid isPermaLink="true">http://backup/portal/frameworks/laravel-5/dicas/mvc-no-laravel-5.html</guid>
			<description><![CDATA[<p><strong>Uso do MVC no Laravel 5</strong></p>

<p>No Laravel 5 os elementos do MVC ficam nos diretórios:</p>

<p><strong>Models</strong> - /app</p>

<p><strong>Controllers</strong> - /app/Http/Controllers</p>

<p><strong>Views</strong> - /resources/views</p>

<p> </p>

<p>Como é importante vou citar o routes</p>

<p>Routes - /routes/web.php (existem outros arquivos, mas este é o principal a ser alterado)</p>

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


<p><br />Crie o aplicativo<br />Crie o banco de dados<br />Configure o banco<br /><br />Rode o scaffold do Laravel executando:<br />php artisan make:auth<br />php artisan migrate</p>


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


<p> </p>]]></description>
			<category>Dicas</category>
			<pubDate>Sun, 25 Jun 2017 21:08:35 -0300</pubDate>
		</item>
		<item>
			<title>Convenções do Laravel</title>
			<link>http://backup/portal/frameworks/laravel-5/dicas/convencoes-do-laravel.html</link>
			<guid isPermaLink="true">http://backup/portal/frameworks/laravel-5/dicas/convencoes-do-laravel.html</guid>
			<description><![CDATA[<p><strong>Convenções no Laravel 5</strong></p>


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


<p>Detalhes sobre o Faker</p>


<p><a href="https://github.com/fzaninotto/Faker">https://github.com/fzaninotto/Faker</a></p>


<p><strong>Faker com seed</strong><br />php artisan make:seeder ClientesTableSeeder</p>


<p><strong>Exemplos</strong></p>


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


<p><strong>Rodando o seed apenas na tabela Clientes</strong><br />php artisan db:seed --class=ClientesTableSeeder<br /><br />               'first_name' =&gt; $faker-&gt;firstName,<br />                'last_name' =&gt; $faker-&gt;lastName,<br />                'username' =&gt; str_replace('.', '_', $faker-&gt;unique()-&gt;userName),<br />                'email' =&gt; $faker-&gt;email,<br />                'password' =&gt; $faker-&gt;word,<br />                'active' =&gt; $faker-&gt;boolean($chanceOfGettingTrue = 90),<br />                'role_id' =&gt; rand(3,5)<br />                   'address' =&gt; $faker-&gt;address,<br />                    'DOB' =&gt; $faker-&gt;date('Y-m-d')<br />$faker-&gt;randomNumber<br /><br />      $faker = Faker::create();<br />      foreach (range(1,100) as $index) {<br />        DB::table('clientes')-&gt;insert([<br />            'nome' =&gt; $faker-&gt;name,<br />            'cpf' =&gt; $faker-&gt;numberBetween($min = 10000000000, $max = 90009999999),<br />            'nascimento' =&gt; $faker-&gt;dateTime($max = 'now'),<br />            'email' =&gt; $faker-&gt;email,<br />            'created_at' =&gt; \Carbon\Carbon::createFromDate(2017,05,24)-&gt;toDateTimeString(),<br />            'updated_at' =&gt; \Carbon\Carbon::createFromDate(2017,05,24)-&gt;toDateTimeString()<br />        ]);<br />      }</p>]]></description>
			<category>Dicas</category>
			<pubDate>Sun, 25 Jun 2017 21:08:35 -0300</pubDate>
		</item>
		<item>
			<title>Fluxo de Informações</title>
			<link>http://backup/portal/frameworks/laravel-5/dicas/fluxo-de-informacoes.html</link>
			<guid isPermaLink="true">http://backup/portal/frameworks/laravel-5/dicas/fluxo-de-informacoes.html</guid>
			<description><![CDATA[<p><strong>Testando a comunicação entre Model e Controller</strong></p>


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


<p> </p>


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


<p><strong>Console interativa do php</strong></p>


<p>Executar:<br />php artisan tinker</p>


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


<p><br />$user = App\User::find(1);<br /><br /><br />$c-&gt;post-&gt;title;<br /><br />// see the count of all users<br />App\User::count();<br /><br />// find a specific user and see their attributes<br />App\User::where('username', 'samuel')-&gt;first();<br /><br />// find the relationships of a user<br />$user = App\User::with('posts')-&gt;first();<br />$user-&gt;posts;<br /><br />App\User::all();<br /><br /><strong>Criar novo user</strong><br />$user = new App\User;<br />$user-&gt;name = "Wruce Bayne";<br />$user-&gt;email = "iambatman@savegotham.com";<br />$user-&gt;password = Hash::make('123456');<br />$user-&gt;save();<br /><br /><strong>Deletando</strong><br />$user = App\User::find(1);<br />$user-&gt;delete();<br /><br /><strong>class Order extends Eloquent {}</strong><br />$order = new Order;<br />$order-&gt;title = 'Xbox One';<br />$order-&gt;save();<br /><br />echo Config::get('app.url');<br /><br />use App\Role;<br />$r = new Role;<br /><br />$r-&gt;name = 'Admin';<br />$r-&gt;slug = 'admin';<br />$r-&gt;description = 'manager admin privilege';<br />$r-&gt;save();<br /><br />Atualização<br />$r = new Role();<br />$r-&gt;update(['id' =&gt;1,'description'=&gt;'manage super privilege']);<br /><br /> use App\Role;<br />$r = Role::create(['id'=&gt;2, 'name'=&gt;'Manager', 'slug'=&gt;'manager','description'=&gt;'manager manager privilege']);</p>]]></description>
			<category>Dicas</category>
			<pubDate>Sun, 25 Jun 2017 21:08:35 -0300</pubDate>
		</item>
		<item>
			<title>Validações no Laravel</title>
			<link>http://backup/portal/frameworks/laravel-5/dicas/validacoes-no-laravel.html</link>
			<guid isPermaLink="true">http://backup/portal/frameworks/laravel-5/dicas/validacoes-no-laravel.html</guid>
			<description><![CDATA[<p><strong>Validação de dados</strong></p>


<p>É importante validar todos os dados vindos de formulários.</p>


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