<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>laravel Archives - Mr Agus</title>
	<atom:link href="https://mragus.com/tag/laravel/feed/" rel="self" type="application/rss+xml" />
	<link>https://mragus.com/tag/laravel/</link>
	<description>Read, Learn and Share Ilmu yang Bermanfaat</description>
	<lastBuildDate>Thu, 02 Nov 2017 09:06:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.2</generator>

<image>
	<url>https://mragus.com/wp-content/uploads/2017/07/Fav-icon-untuk-mragus.com_-150x150.png</url>
	<title>laravel Archives - Mr Agus</title>
	<link>https://mragus.com/tag/laravel/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Mengirim Email Menggunakan Framework Laravel</title>
		<link>https://mragus.com/mengirim-email-menggunakan-framework-laravel/</link>
					<comments>https://mragus.com/mengirim-email-menggunakan-framework-laravel/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Thu, 11 May 2017 04:35:03 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=2296</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada artikel kali ini saya akan membahas mengenai bagaimana cara mengirim email menggunakan Framework Laravel. Pada artikel sebelumnya saya sudah membuat bahasan mengenai cara mengirim email dengan framework Yii2 disni, jadi tidak lengkap rasanya jika tidak&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/mengirim-email-menggunakan-framework-laravel/">Mengirim Email Menggunakan Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wr wb, pada artikel kali ini saya akan membahas mengenai bagaimana cara mengirim email menggunakan Framework Laravel. Pada artikel sebelumnya saya sudah membuat bahasan mengenai cara mengirim email dengan framework Yii2 <a href="https://mragus.com/mengirim-email-pada-framework-yii2-dengan-swiftmailer/">disni</a>, jadi tidak lengkap rasanya jika tidak membuat juga artikel serupa dengan framework Laravel.</p>
<p style="text-align: left;">Untuk pembuatan aplikasi ini saya menggunakan layanan email dari Google dan Laravel dengan <span id="more-2296"></span>versi 5. Untuk scriptnya sendiri cukup mudah dan scriptnya tidak terlalu panjang. Oke, langsung saja tanpa basa basi lagi kita mulai setting dan buat script nya.</p>
<h2 style="text-align: left;">Mengirim Email Menggunakan Framework Laravel</h2>
<p style="text-align: left;">Hal yang pertama-tama kita lakukan adalah kita membuat konfigurasi email terkait dengan SMTP email apa yang akan kita gunakan. Settingnya terletak pada file .env, dan berikut adalah contoh konfigurasi dengan menggunakan smtp google.</p>
<pre class="lang:default decode:true EnlighterJSRAW">MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=isiemaildisini@gmail.com
MAIL_PASSWORD=passworddisni
MAIL_ENCRYPTION=tls</pre>
<h3 style="text-align: left;">Pembuatan Method</h3>
<p style="text-align: left;">Selanjutnya saya akan membuat 2 method untuk menampilkan form email dan method yang di gunakan untuk menghandle proses kirim email. Sesuaikan method dan route nya.</p>
<pre class="lang:default decode:true EnlighterJSRAW">Route::get('site/form-mail','SiteController@formMail');
Route::post('site/send-mail','SiteController@sendMail');</pre>
<h4 style="text-align: left;">Method pertama</h4>
<p style="text-align: left;">Berikut adalah method pertama untuk menampilkan form.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function formMail(){
   return view('site.formMail');
}</pre>
<p style="text-align: left;">Kemudian buat viewnya di folder site dengan nama <em>formMail.</em></p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;div class="row"&gt;
 {!! Form::open(['action' =&gt; 'SiteController@sendMail','method'=&gt;'post']) !!}
 &lt;div class="col-sm-6"&gt;
  &lt;div class="form-group"&gt;
   &lt;label&gt;Email Tujuan&lt;/label&gt;
   {!! Form::text('email',null,['class'=&gt;'form-control']) !!}
  &lt;/div&gt;
  &lt;div class="form-group"&gt;
   &lt;label&gt;Subjek&lt;/label&gt;
   {!! Form::text('subjek',null,['class'=&gt;'form-control']) !!}
  &lt;/div&gt;
  &lt;div class="form-group"&gt;
   &lt;label&gt;Opsi Template&lt;/label&gt;
   {!! Form::select('opsi_template',['1'=&gt;'Dengan Template','2'=&gt;'Tanpa Template'],null,['class'=&gt;'form-control','promt'=&gt;'- pilih opsi -']) !!}
  &lt;/div&gt; 
  {!! Form::submit('Kirim Email',['class'=&gt;'btn btn-primary']) !!}
 &lt;/div&gt;
 &lt;div class="col-sm-6"&gt;
  &lt;div class="form-group"&gt;
   &lt;label&gt;Pesan&lt;/label&gt;
   {!! Form::textarea('pesan',null,['class'=&gt;'form-control']) !!}
  &lt;/div&gt;
 &lt;/div&gt;
 {!! Form::close() !!}
&lt;/div&gt;</pre>
<p style="text-align: left;">Setelah jadi kira kira penampakannya seperti berikut.</p>
<div id="attachment_2305" style="width: 543px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2305" decoding="async" class="wp-image-2305 " src="https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono089.png" alt="Mengirim Email Menggunakan Framework Laravel" width="533" height="152" srcset="https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono089.png 1797w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono089-300x86.png 300w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono089-768x219.png 768w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono089-1024x292.png 1024w" sizes="(max-width: 533px) 100vw, 533px" /><p id="caption-attachment-2305" class="wp-caption-text">Mengirim Email Menggunakan Framework Laravel</p></div>
<p style="text-align: left;">Dropdown yang saya buat pada form, dimaksudkan untuk memberikan opsi. Apakah email akan dikirimkan hanya berupa text atau dengan menggunakan template.</p>
<h4 style="text-align: left;">Method kedua</h4>
<p style="text-align: left;">Method kedua ini adalah digunakan untuk menghandle proses kirim email. Berikut adalah script yang saya buat.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function sendMail(Request $request){
        $this-&gt;validate($request,[
                'email' =&gt; 'required',
                'subjek' =&gt; 'required',
                'pesan' =&gt;'required',
                'opsi_template' =&gt; 'required'
            ]);
        if($request-&gt;opsi_template==2){
            $sendMail = Mail::raw($request-&gt;pesan, function ($message)use($request) {
                $message-&gt;from('bijiagus@gmail.com','Agus Wiji Suhariono');
                $message-&gt;subject($request-&gt;subjek);
                $message-&gt;to($request-&gt;email);
            });
        }else{
            $sendMail = Mail::send('email.template', ['request'=&gt;$request], function        ($message)use($request){
                $message-&gt;from('bijiagus@gmail.com','Agus Wiji Suhariono');
                $message-&gt;subject($request-&gt;subjek);
                $message-&gt;to($request-&gt;email);
            });
        }
        if($sendMail){
             \Session::flash('flash_message','Email berhasil dikirim');

            return redirect()-&gt;action('SiteController@formMail');
        }
    }</pre>
<p style="text-align: left;">Pada method tersebut terdapat 2 kondisi, jika opsi template adalah 2, maka email hanya akan dikirim menggunakan <em>Raw String </em>dan untuk kondisi kedua menggunakan template view. Anda bisa melihat berbagai konfigurasi yang tersedia di <a href="https://laravel.com/docs/5.2/mail">dokumentasi resmi Laravel</a>,  seperti memberikan attachment dan bcc serta lain sebagainya.</p>
<p style="text-align: left;">Untuk yang menggunakan template view kita harus membuat view yang berisi template yang akan digunakan. Berikut adalah script yang saya buat (folder<em> email </em>dengan nama file<em> template</em>).</p>
<pre class="lang:default decode:true EnlighterJSRAW ">&lt;head&gt;
   &lt;meta content="text/html; charset=utf8" http-equiv="Content-Type"/&gt;
   &lt;title&gt;Gracias por configurar la facturaci=C3=B3n en G&amp;nbsp;Suite&lt;/title&gt;
   &lt;style type="text/css"&gt;.ExternalClass {
      width: 100%;
      }
      .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font,=
      .ExternalClass td, .ExternalClass div {
      line-height: 100%;
      }
      body {
      -webkit-text-size-adjust: none;
      -ms-text-size-adjust: none;
      margin: 0;
      padding: 0;
      }
      table {
      border-collapse: collapse;
      mso-table-lspace: 0pt;
      mso-table-rspace: 0pt;
      }
      table td {
      border-collapse: collapse;
      }
      img {
      outline: none;
      text-decoration: none;
      -ms-interpolation-mode: bicubic;
      }
      a img {
      border: none;
      }
      p {
      margin: 0;
      padding: 0;
      margin-bottom: 0;
      }
      .forApple a {
      color: #666666 !important;
      text-decoration: none !important;
      }
   &lt;/style&gt;
&lt;/head&gt;
&lt;body dir="ltr"&gt;
   &lt;img alt="Anuncio" border="0" height="1" src="" width="1"&gt;
   &lt;table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0"
      style="background-color:#ffffff" width="100%"&gt;
      &lt;tr&gt;
         &lt;td align="center"&gt;
            &lt;div style="max-width:558px;margin:0 auto;padding:0 10px"&gt;
            &lt;table align="center" border="0" cellpadding="0" cellspacing="0" st
            yle="max-width:558px;padding:0;margin:0;font-family:Arial,Helvetica,sans-=
            serif;font-weight:normal;font-size:13px;line-height:18px;color:#444444;text=
            -align:left" width="100%"&gt;
      &lt;tr&gt;
         &lt;td style="font-family:Arial,Helvetica,sans-serif;font-weight:normal;font=
         -size:12px;line-height:20px;color:#444444;padding:5px 0" width="100%"&gt;
         Tes Template &lt;a href="" style="text-decoration:no=
         ne;color:#1155cc" target="_blank"&gt;Agus Biji Corps&lt;/a&gt;
         &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
      &lt;tr&gt;
         &lt;td align="left" style="font-family:Arial,Helvetica,sans-serif;font-wei=
         ght:normal;font-size:15px;line-height:18px;padding:22px 0 8px 10px;border-c=
         ollapse:collapse;border-bottom:1px solid #dcdcdc" valign="top" width="1=
         00%"&gt;
         &lt;img alt="Google" border="0" height="40" src="http://www.xapps.link/views/unnamed.png" style="display:block"&gt;
         &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
         &lt;td style="padding:44px 0 0" width="100%"&gt;
         &lt;table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0"
         style="font-family:Arial,Helvetica,sans-serif;font-weight:normal;font-si=
         ze:13px;line-height:18px;color:#444444;background-color:#ffffff;padding:0;m=
         argin:0" width="100%"&gt;
      &lt;tr&gt;
         &lt;td align="center" style="font-family:Arial,Helvetica,sans-serif;font-w=
         eight:normal;font-size:28px;line-height:32px;color:#1a1a1a;font-weight:norm=
         al" valign="top" width="100%"&gt;
       	Judul Template&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
         &lt;td align="center" style="padding:15px 20px 0;font-family:Arial,Helveti=
         ca,sans-serif;font-weight:normal;font-size:15px;line-height:22px;color:#444=
         444" valign="top" width="100%"&gt;
         Sub Judul Template&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
         &lt;td style="padding:20px 0 0" width="100%"&gt;
         &lt;table align="left" border="0" cellpadding="0" cellspacing="0" widt
            h="380"&gt;
            &lt;tr&gt;
               &lt;td align="left" style="padding:20px 0 0;font-family:Arial,Helvetica,sa=
               ns-serif;font-weight:normal;font-size:15px;line-height:22px;color:#333333;f=
               ont-weight:bold" valign="top" width="100%"&gt;
              	Halo {{ $request-&gt;email }}
              &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
               &lt;td align="left" style="padding:10px 30px 0 0;font-family:Arial,Helveti=
               ca,sans-serif;font-weight:normal;font-size:13px;line-height:18px;color:#333=
               333" valign="top" width="100%"&gt;
              	{{ $request-&gt;pesan }}
               &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
               &lt;td width="100%"&gt;
                  &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;
                     &lt;tr&gt;
                        &lt;td align="left" style="padding:10px 10px 0 0;font-family:Arial,Helvet=
                        ica,sans-serif;font-weight:normal;font-size:13px;line-height:18px;color:#33=
                        3333" valign="top" width="50%"&gt;
                        Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&lt;/td&gt;
                        
                     &lt;/tr&gt;
            
                  &lt;/table&gt;
               &lt;/td&gt;
            &lt;/tr&gt;
         &lt;/table&gt;
         &lt;table align="left" border="0" cellpadding="0" cellspacing="0" widt
            h="155"&gt;
            &lt;tr&gt;
               &lt;td style="padding:20px 0 0" width="100%"&gt;
               &lt;table align="left" border="0" cellpadding="0" cellspacing="0" styl
                  e="font-family:Arial,sans-serif;margin:0;padding:0;border-collapse:collap=
                  se"&gt;
                  &lt;tr height="36"&gt;
                     &lt;td bgcolor="#3369E8" class="btn-left" height="36" width="3"&gt;
                        &lt;img border="0" height="36" src="http://www.gstatic.com/gmktg/mtv-img=
                           /left_of_button.png" style="display:block" width="3"&gt;
                     &lt;/td&gt;
                     &lt;td bgcolor="#3369E8"&gt;
                        &lt;table align="center" border="0" cellpadding="0" cellspacing="0"&gt;
                           &lt;tr&gt;
                              &lt;td align="center" background="http://www.gstatic.com/gmktg/mtv-img/mid=
                              dle_of_button.png" class="btn-mid" height="36" style="background-repe=
                              at:repeat-x;background-image:url('http://www.gstatic.com/gmktg/mtv-img/midd=
                              le_of_button.png')" valign="middle" width="100"&gt;
                              &lt;table align="center" border="0" cellpadding="0" cellspacing="0" st
                              yle="margin-top:0;margin-right:0;margin-left:0;padding-top:0;padding-righ=
                              t:0;padding-bottom:0;padding-left:0;border-collapse:collapse"&gt;
                           &lt;tr&gt;
                              &lt;td align="center" height="20" style="text-align:center;line-height:2=
                                 0px" valign="middle" width="100"&gt;
                                 &lt;a class="thebtn" href="https:/mragus.com/" style="margin:0;p=
                                 adding:0;text-align:center;color:#ffffff;font-weight:normal;font-size:13px;=
                                 display:block;text-decoration:none;font-family:Arial,Helvetica,sans-serif" 
                                 target="_blank"&gt;Cek Link Ini&lt;/a&gt;
                              &lt;/td&gt;
                           &lt;/tr&gt;
                        &lt;/table&gt;
                     &lt;/td&gt;
                  &lt;/tr&gt;
               &lt;/table&gt;
               &lt;/td&gt;
               &lt;td bgcolor="#3369E8" class="btn-right" height="36" width="3"&gt;
                  &lt;img border="0" height="36" src="http://www.gstatic.com/gmktg/mtv-img=
                     /right_of_button.png" style="display:block" width="3"&gt;
               &lt;/td&gt;
            &lt;/tr&gt;
         &lt;/table&gt;
         &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
         &lt;td align="left" style="padding:10px 0 0;font-family:Arial,Helvetica,sa=
         ns-serif;font-weight:normal;font-size:13px;line-height:18px;color:#333333" 
         valign="top" width="100%"&gt;
         &lt;a href="#?utm_source=3420083&amp;utm_medium=email&amp;utm_campaign=
            =trials1" style="color:#333333;text-decoration:none" target="_blank"&gt;
         &lt;font color="#333333"&gt;bijiagus.com&lt;/font&gt;&lt;/a&gt;
         &lt;/td&gt;
      &lt;/tr&gt;
   &lt;/table&gt;
   &lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
      &lt;td width="100%"&gt;
         &lt;table align="left" border="0" cellpadding="0" cellspacing="0" widt
            h="380"&gt;
            &lt;tr&gt;
               &lt;td align="left" style="padding:20px 30px 0 0;font-family:Arial,Helveti=
               ca,sans-serif;font-weight:normal;font-size:13px;line-height:18px;color:#333=
               333" valign="top" width="100%"&gt;Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&lt;/td&gt;
            &lt;/tr&gt;
         &lt;/table&gt;
      &lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
      &lt;td align="left" style="padding:20px 0 40px;font-family:Arial,Helvetica=
      ,sans-serif;font-weight:normal;font-size:13px;line-height:18px;color:#33333=
      3;border-collapse:collapse;border-bottom:1px solid #dcdcdc" valign="top" 
      width="100%"&gt;
      Agus Wiji Suhariono         &lt;br&gt;
      &lt;strong&gt;agus@bijiagus.com&lt;/strong&gt;
      &lt;/td&gt;
   &lt;/tr&gt;
   &lt;/table&gt;
   &lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
      &lt;td style="font-family:Arial,Helvetica,sans-serif;font-weight:normal;font=
      -size:10px;line-height:14px;color:#666666;padding:20px 0 0" width="100%"&gt;
      &lt;span class="forApple"&gt;© Contoh Template Di ambil dari bootsnip.com&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;/table&gt;
   &lt;/div&gt;
   &lt;/td&gt;
   &lt;/tr&gt;
   &lt;/table&gt;</pre>
<h3 style="text-align: left;">Testing</h3>
<p style="text-align: left;">Setelah semua script di atas sudah di buat semua, saatnya kita mengetes nya. Isi form dan sesuaikan datanya. Pada test pertama saya akan memilih mengirim email tanpa menggunakan template.</p>
<div id="attachment_2306" style="width: 538px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2306" decoding="async" loading="lazy" class="wp-image-2306 " src="https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono090.png" alt="Mengirim Email Menggunakan Framework Laravel" width="528" height="210" srcset="https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono090.png 1852w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono090-300x119.png 300w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono090-768x305.png 768w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono090-1024x407.png 1024w" sizes="(max-width: 528px) 100vw, 528px" /><p id="caption-attachment-2306" class="wp-caption-text">Mengirim Email Menggunakan Framework Laravel</p></div>
<p style="text-align: left;">Berikut adalah tampilan email yang saya terima.</p>
<div id="attachment_2307" style="width: 543px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2307" decoding="async" loading="lazy" class="wp-image-2307 " src="https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono091-1024x462.png" alt="Mengirim Email Menggunakan Framework Laravel" width="533" height="240" srcset="https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono091-1024x462.png 1024w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono091-300x135.png 300w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono091-768x346.png 768w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono091.png 1553w" sizes="(max-width: 533px) 100vw, 533px" /><p id="caption-attachment-2307" class="wp-caption-text">Mengirim Email Menggunakan Framework Laravel</p></div>
<p style="text-align: left;">Selanjutnya kita akan tes dengan opsi menggunakan template.</p>
<div id="attachment_2308" style="width: 540px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2308" decoding="async" loading="lazy" class="wp-image-2308 " src="https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono092.png" alt="Mengirim Email Menggunakan Framework Laravel" width="530" height="291" srcset="https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono092.png 1578w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono092-300x165.png 300w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono092-768x421.png 768w, https://mragus.com/wp-content/uploads/2017/05/agus_wiji_suhariono092-1024x562.png 1024w" sizes="(max-width: 530px) 100vw, 530px" /><p id="caption-attachment-2308" class="wp-caption-text">Mengirim Email Menggunakan Framework Laravel</p></div>
<p style="text-align: left;">Terdapat perbedaan bukan, tampilan yang menggunakan template akan terlihat lebih rapi dan bagus. Untuk Selanjutnya anda dapat mengembangkan template sesuai dengan desain yang anda inginkan. Sekian tutorial dari saya ini, semoga dapat bermanfaat dan digunakan dengan baik.</p>
<p style="text-align: left;">Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/mengirim-email-menggunakan-framework-laravel/">Mengirim Email Menggunakan Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/mengirim-email-menggunakan-framework-laravel/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat Pagination di Modal Bootstrap dengan Framework Laravel</title>
		<link>https://mragus.com/membuat-pagination-di-modal-bootstrap-dengan-framework-laravel/</link>
					<comments>https://mragus.com/membuat-pagination-di-modal-bootstrap-dengan-framework-laravel/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sun, 12 Mar 2017 15:07:39 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=2122</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan membagi tutorial tentang cara membuat Pagination di Modal Bootstrap dengan Framework Laravel. Modal bootstrap merupakan konten yang berupa kotak dialog untuk menampilkan informasi tertentu. Terdapat banyak pertanyaan dari teman-teman pada&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-pagination-di-modal-bootstrap-dengan-framework-laravel/">Membuat Pagination di Modal Bootstrap dengan Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wr wb, pada kesempatan kali ini saya akan membagi tutorial tentang cara membuat Pagination di <a href="https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/">Modal Bootstrap</a> dengan Framework Laravel. Modal bootstrap merupakan konten yang berupa kotak dialog untuk menampilkan informasi tertentu. <span id="more-2122"></span></p>
<p style="text-align: left;">Terdapat banyak pertanyaan dari teman-teman pada waktu menampilkan sebuat tabel pada modal bootstrap, ketika di klik pada paginationnya, halaman akan lepas dan keluar dari modal.</p>
<h2>Membuat Pagination di Modal Bootstrap dengan Framework Laravel</h2>
<p style="text-align: left;">Hal ini terkadang menjadi dilema bagi seorang programmer, kita dapat menampilkan sebuah informasi penunjang berupa tabel pada modal bootstrap pada aplikasi kita, tetapi terkadang kita memilih menampilkan informasi itu pada halaman lain, karena terkendala masalah pagination dan data yang terlalu banyak.</p>
<p style="text-align: left;">Tetapi hal tersebut dapat diatasi dengan mudah dengan menambahkan JQuery sehingga request akan dijalankan dalam bentuk Ajax.</p>
<p style="text-align: left;">Oke, tanpa basa basi langsung saja kita membuat Pagination di Modal Bootstrap dengan Framework Laravel <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .</p>
<h3 style="text-align: left;">Struktur Tabel</h3>
<p style="text-align: left;">Tabel yang saya gunakan adalah tabel post dengan jumlah data 1000 rows.</p>
<pre class="lang:default decode:true EnlighterJSRAW">mysql&gt; desc posts;
+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| author_id   | int(11)      | NO   |     | NULL    |                |
| title       | varchar(255) | NO   |     | NULL    |                |
| description | varchar(500) | NO   |     | NULL    |                |
| content     | text         | NO   |     | NULL    |                |
| date        | date         | NO   |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
</pre>
<p style="text-align: left;">Langkah pertama, kita buat script untuk menampilkan modal dengan ukuran large pada layouts (agar bisa di pakai di konten yang lain).</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;div class="modal fade" id="modalLg" role="dialog" aria-labelledby="myModalLabel" data-keyboard="false" data-backdrop="static"&gt;
    &lt;div class="modal-dialog modal-lg" role="document"&gt;
         &lt;div class="modal-content"&gt;
              &lt;div class="modal-header"&gt;
                   &lt;button type="button" class="close" data-dismiss="modal" aria-label="Close"&gt;&lt;span aria-hidden="true"&gt;&amp;times;&lt;/span&gt;&lt;/button&gt;
                         &lt;h4 class="modal-title" id="modalLgTitle"&gt;&lt;/h4&gt;
              &lt;/div&gt;
              &lt;div class="modal-body"&gt;
                   &lt;div class="modalError"&gt;&lt;/div&gt;
                   &lt;div id="modalLgContent"&gt;&lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</pre>
<p style="text-align: left;">Tambahkan javascript yang di gunakan untuk menampilkan modal Large.</p>
<pre class="lang:default decode:true EnlighterJSRAW">$('.modalLg').off('click').on('click', function (e) {
        $("#modalLg").modal('show');
        $('#modalLgContent').load($(this).attr('href'));
        $('#modalLgTitle').html($(this).attr('title'));
        e.preventDefault();
    });</pre>
<p style="text-align: left;">Selanjutnya buat contoller untuk menampilkan halaman yang isinya tombol view data.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function modalPagination(){
        return view('site.modalPagination');
    }</pre>
<p style="text-align: left;">untuk view modalPagination.blade.php.</p>
<pre class="lang:default decode:true EnlighterJSRAW">@extends('layouts.main')

@section('title', 'Modal Pagination')
@section('content')
&lt;div class="row"&gt;
 &lt;div class="col-lg-12"&gt;
  &lt;a class="btn btn-success modalLg" href="{{ action('SiteController@viewModalPagination') }}" title="Pagination di Modal"&gt;View Data&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
@endsection</pre>
<p style="text-align: left;">Kemudian buat controler untuk menampilkan view yang akan muncul pada konten modal bootstrap.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function viewModalPagination(){
        $dataPost = Post::orderBy('title','ASC')-&gt;paginate(5);
        return view('site.viewModalPagination',compact('dataPost'))-&gt;renderSections()['content'];
    }</pre>
<p style="text-align: left;">Lanjutkan membuat viewnya viewModalPagination.blade.php, untuk javascriptnya saya buat juga pada file ini, berikut adalah scriptnya :</p>
<pre class="lang:default decode:true EnlighterJSRAW ">@extends('layouts.main')

@section('title', 'Modal Pagination')
@section('content')
&lt;script type="text/javascript"&gt;
    $(document).on('ajaxComplete ajaxReady ready', function () {
        $('ul.pagination li a').off('click').on('click', function (e) {
            $("#modalLg").modal('show');
            $('#modalLgContent').load($(this).attr('href'));
            $('#modalLgTitle').html($(this).attr('title'));
            e.preventDefault();
        });
    });
&lt;/script&gt;
&lt;div class="row"&gt;
    &lt;div class="col-lg-12"&gt;
        &lt;i&gt;Jumlah Data : {{ $dataPost-&gt;total() }}&lt;/i&gt;
        &lt;table class="table table-bordered" id="post-table"&gt;
            &lt;thead&gt;
                &lt;tr&gt;
                    &lt;th&gt;Id&lt;/th&gt;
                    &lt;th&gt;Author ID&lt;/th&gt;
                    &lt;th&gt;Title&lt;/th&gt;
                    &lt;th&gt;Description&lt;/th&gt;
                    &lt;th&gt;Content&lt;/th&gt;
                    &lt;th&gt;Date&lt;/th&gt;
                &lt;/tr&gt;
            &lt;/thead&gt;
            &lt;tbody&gt;
                @if($dataPost-&gt;total() &gt; 0)
                @foreach($dataPost as $row)
                &lt;tr&gt;
                    &lt;td&gt;{{ $row-&gt;id }}&lt;/td&gt;
                    &lt;td&gt;{{ $row-&gt;author-&gt;first_name }}&lt;/td&gt;
                    &lt;td&gt;{{ $row-&gt;title }}&lt;/td&gt;
                    &lt;td&gt;{{ $row-&gt;description }}&lt;/td&gt;
                    &lt;td&gt;{{ $row-&gt;content }}&lt;/td&gt;
                    &lt;td&gt;{{ $row-&gt;date }}&lt;/td&gt;
                &lt;/tr&gt;
                @endforeach
                @else
                &lt;tr&gt;
                    &lt;td colspan="6"&gt;Data tidak tersedia&lt;/td&gt;
                &lt;/tr&gt;
                @endif
            &lt;/tbody&gt;
        &lt;/table&gt;
        {!! $dataPost-&gt;links() !!}
    &lt;/div&gt;
&lt;/div&gt;
@endsection</pre>
<h3 style="text-align: left;">Uji Coba</h3>
<p style="text-align: left;">Setelah semua script di atas di buat, kita mulai uji coba dengan menampilkan halaman index yang terdapat tombol viewdata.</p>
<p style="text-align: left;"><img decoding="async" loading="lazy" class="aligncenter wp-image-2126 " src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_016-1024x453.jpg" alt="Membuat Pagination di Modal Bootstrap dengan Framework Laravel" width="530" height="234" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_016-1024x453.jpg 1024w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_016-300x133.jpg 300w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_016-768x339.jpg 768w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_016.jpg 1199w" sizes="(max-width: 530px) 100vw, 530px" /></p>
<p style="text-align: left;">Kemudian klik tombol tersebut untuk menampilkan modal bootstrap.</p>
<p style="text-align: left;"><img decoding="async" loading="lazy" class="aligncenter wp-image-2127 " src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_017.jpg" alt="Membuat Pagination di Modal Bootstrap dengan Framework Laravel" width="630" height="431" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_017.jpg 1318w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_017-300x205.jpg 300w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_017-768x525.jpg 768w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_017-1024x700.jpg 1024w" sizes="(max-width: 630px) 100vw, 630px" /></p>
<p style="text-align: left;">Untuk mencoba, klik link paginationnya.</p>
<div id="attachment_2128" style="width: 592px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2128" decoding="async" loading="lazy" class="wp-image-2128 " src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_018.jpg" alt="Membuat Pagination di Modal Bootstrap dengan Framework Laravel" width="582" height="420" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_018.jpg 1241w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_018-300x216.jpg 300w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_018-768x554.jpg 768w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_018-1024x739.jpg 1024w" sizes="(max-width: 582px) 100vw, 582px" /><p id="caption-attachment-2128" class="wp-caption-text">Membuat Pagination di Modal Bootstrap dengan Framework Laravel</p></div>
<p style="text-align: left;">Kita bisa lihat di console, pagination request menggunakan ajax.</p>
<div id="attachment_2129" style="width: 545px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2129" decoding="async" loading="lazy" class="wp-image-2129 " src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_019.jpg" alt="Membuat Pagination di Modal Bootstrap dengan Framework Laravel" width="535" height="181" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_019.jpg 1434w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_019-300x101.jpg 300w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_019-768x260.jpg 768w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_019-1024x346.jpg 1024w" sizes="(max-width: 535px) 100vw, 535px" /><p id="caption-attachment-2129" class="wp-caption-text">Membuat Pagination di Modal Bootstrap dengan Framework Laravel</p></div>
<p style="text-align: left;">Mudah bukan <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> , sekian tutorial dari saya, semoga dapat bermanfaat, tetap belajar dan berusaha. Terimakasih.</p>
<p style="text-align: left;">source code : <a href="https://github.com/AgusWijiSuhariono/demoApp">https://github.com/AgusWijiSuhariono/demoApp</a></p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-pagination-di-modal-bootstrap-dengan-framework-laravel/">Membuat Pagination di Modal Bootstrap dengan Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-pagination-di-modal-bootstrap-dengan-framework-laravel/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat Form Upload File dengan Ajax dan Framework Laravel</title>
		<link>https://mragus.com/membuat-form-upload-file-dengan-ajax-dan-framework-laravel/</link>
					<comments>https://mragus.com/membuat-form-upload-file-dengan-ajax-dan-framework-laravel/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Tue, 07 Mar 2017 14:12:00 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=2077</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan membuat tutorial bagaimana cara membuat form upload file dengan ajax dan Framework Laravel. Pada tutorial yang lain, saya pernah membuat tulisan mengenai upload file juga tetapi di framework Yii  2&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-form-upload-file-dengan-ajax-dan-framework-laravel/">Membuat Form Upload File dengan Ajax dan Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wr wb, pada kesempatan kali ini saya akan membuat tutorial bagaimana cara membuat form upload file dengan ajax dan Framework Laravel. Pada tutorial yang lain, saya pernah membuat tulisan mengenai upload file juga tetapi di framework Yii  2 (<a href="https://mragus.com/membuat-form-upload-file-pada-framework-yii2/">disini</a>). Tulisan kali ini secara teknis tidak akan jauh berbeda, bedanya form akan di munculkan dalam bentuk modal dan akan di tambahkan progress bar untuk menunjukkan status file yang akan di upload. Hal ini akan membuat form terlihat <span id="more-2077"></span>lebih menarik dan interaktif, untuk scriptnya sendiri tidak terlalu sulit tetapi harus lebih menguasai tentang javascript dan Jquery. Untuk lebih lanjutnya kita mulai saja scripting cara membuat form upload file dengan ajax dan framework laravel.</p>
<h3 style="text-align: left;">Desain Tabel</h3>
<p style="text-align: left;">Berikut adalah desain tabel yang saya gunakan.</p>
<pre class="lang:default decode:true EnlighterJSRAW">mysql&gt; desc tb_file;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| nama       | varchar(100) | NO   |     | NULL    |                |
| file       | varchar(250) | NO   |     | NULL    |                |
| created_at | datetime     | NO   |     | NULL    |                |
| updated_at | datetime     | NO   |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
5 rows in set (0,00 sec)
</pre>
<h3 style="text-align: left;">Membuat Form Upload File dengan Ajax dan Framework Laravel</h3>
<p style="text-align: left;">Untuk scripting, pertama-tama kita buat Model dan Controllernya dengan menggunakan artisan.</p>
<pre class="lang:default decode:true EnlighterJSRAW">php artisan make:controller TbFileController --resource

php artisan make:model TbFile</pre>
<p style="text-align: left;">Model TbFile :</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class TbFile extends Model
{
    protected $table = "tb_file";
}
</pre>
<p style="text-align: left;">Lengkapi Controller pada TbFileController, method yang akan saya gunakan adalah index, create, store, dan destroy. File dokumen yang terupload akan terletak di folder <em>public/images. </em>Untuk Scriptnya sebagai berikut :</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function index()
{
    $file = TbFile::paginate(4);
    return view('file.index',compact('file'));
}

public function create() //menampilkan form secara partial
{
    $file = new TbFile;
    return view('file.create',compact('file'))-&gt;renderSections()['content'];
}

public function store(Request $request)
{
   $maxId = \DB::table('tb_file')-&gt;max('id') + 1;
   try{       
       $uploaded = $request-&gt;file('file');
       $file = new TbFile;
       $file-&gt;id = $maxId;
       $file-&gt;nama = $request-&gt;nama;
       $file-&gt;file = $maxId."-".$uploaded-&gt;getClientOriginalName();
       $file-&gt;save();

       $uploaded-&gt;move(public_path('images/'),$file-&gt;file); //Folder lokasi File
       \Session::flash('flash_message','Gambar berhasil ditambahkan');
   }catch(\Exception $e){
        echo $e-&gt;getMessage();
        echo "&lt;br&gt;".$e-&gt;getLine();
        die();
   }

    $response = array(
         'status' =&gt; 'success',
         'url' =&gt; action('TbFileController@index'),
    );
    return $response;
 }

public function destroy($id)
{
     $file = TbFile::findOrFail($id);
     unlink(public_path('images/').$file-&gt;file); //menghapus dokumen pada folder terkait
     $file-&gt;delete();

     \Session::flash('flash_message','Dokumen berhasil di hapus');
     return redirect()-&gt;action('TbFileController@index');
}</pre>
<p style="text-align: left;">Script Untuk Menampilkan Modal akan sedikit berbeda dengan tutorial saya yang <a href="https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/">sebelumya</a>. Ini akan sedikit lebih pendek dan simple.</p>
<p style="text-align: left;">Javascript nya :</p>
<pre class="lang:default decode:true EnlighterJSRAW">$('.modalMd').off('click').on('click', function (e) {
    $("#modalMd").modal('show');
    $('#modalMdContent').load($(this).attr('href'));
    $('#modalMdTitle').html($(this).attr('title'));
    e.preventDefault();
});</pre>
<p style="text-align: left;">view modal Content :</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;div class="modal fade" id="modalMd" role="dialog" aria-labelledby="myModalLabel" data-keyboard="false" data-backdrop="static"&gt;
   &lt;div class="modal-dialog" role="document"&gt;
      &lt;div class="modal-content"&gt;
          &lt;div class="modal-header"&gt;
             &lt;button type="button" class="close" data-dismiss="modal" aria-label="Close"&gt;&lt;span aria-hidden="true"&gt;&amp;times;&lt;/span&gt;&lt;/button&gt;
             &lt;h4 class="modal-title" id="modalMdTitle"&gt;&lt;/h4&gt;
          &lt;/div&gt;
      &lt;div class="modal-body"&gt;
         &lt;div class="modalError"&gt;&lt;/div&gt;
         &lt;div id="modalMdContent"&gt;&lt;/div&gt;
      &lt;/div&gt;
   &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;</pre>
<p style="text-align: left;">Kemudian view untuk tampilan Index ( view/file/index.blade.php )</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;div class="row"&gt;
    &lt;div class="col-lg-12"&gt;
        &lt;a class="btn btn-sm btn-success modalMd" href="{{ action('TbFileController@create') }}" title="Upload File"&gt;&lt;span class="glyphicon glyphicon-upload"&gt;&lt;/span&gt; Upload Foto&lt;/a&gt;
        &lt;div class="row" style="margin-top: 10px"&gt;
            @foreach($file as $row)
            &lt;div class="col-sm-3"&gt;
                &lt;div class="thumbnail"&gt;
                    {{ Html::image('images/'.$row-&gt;file,$row-&gt;nama) }}
                    &lt;div class="caption"&gt;
                        &lt;h3&gt;{{ $row-&gt;nama }}&lt;/h3&gt;
                        &lt;form action="{{ action('TbFileController@destroy',['id'=&gt;$row-&gt;id]) }}" method="POST"&gt;
                            {{ csrf_field() }}
                            {{ method_field('DELETE') }}
                            &lt;button class="btn btn-xs btn-danger" title="Delete InspTemuanItem" onclick="return confirm('Confirm delete?')" type="submit"&gt;
                                Hapus Foto &lt;i class="glyphicon glyphicon-trash"&gt;&lt;/i&gt;
                            &lt;/button&gt;   
                        &lt;/form&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
            @endforeach
        &lt;/div&gt;
        &lt;div class="row"&gt;
            &lt;div class="col-lg-12"&gt;
                {!! $file-&gt;links() !!}
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</pre>
<p style="text-align: left;">Untuk Form upload nya sebagai berikut :</p>
<pre class="lang:default decode:true EnlighterJSRAW">{!! Form::model($file, [
'action' =&gt; ['TbFileController@store'],
'id'=&gt;'formUpload'
]) !!}
&lt;div class="row"&gt;
    &lt;div class="col-lg-12"&gt;
        &lt;div class="progress" style="display:none"&gt;
            &lt;div class="progress-bar" role="progressbar" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100" style=""&gt;
                &lt;span class="sr-only"&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class="form-group"&gt;
            &lt;label&gt;Nama File&lt;/label&gt;
            {!! Form::text('nama',null,['class'=&gt;'form-control']) !!}
        &lt;/div&gt;
        &lt;div class="form-group"&gt;
            &lt;label&gt;Gambar&lt;/label&gt;
            {!! Form::file('file') !!}
        &lt;/div&gt;
        {!! Form::submit('Simpan',['class'=&gt;'btn btn-sm btn-success']) !!}
    &lt;/div&gt;
&lt;/div&gt;
{!! Form::close() !!}</pre>
<p style="text-align: left;">Nah, intinya ada disni <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> . Javascript yang digunakan untuk mengeksekusi form upload file sebagai berikut :</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;script type="text/javascript"&gt;
    $(document).on('ajaxComplete ajaxReady', function () {
        $.ajaxSetup({
            headers: {
                'X-CSRF-Token': $('input[name="_token"]').val()
            }
        });
        $('#formUpload').on("submit", function (e) {
            $(".progress").show();
            var formData = new FormData(this);
            var formURL = $("#formUpload").attr("action");
            $.ajax(
                    {
                        url: formURL,
                        type: "POST",
                        data: formData,
                        contentType: false,
                        processData: false,
                        success: function (data, textStatus, jqXHR)
                        {
                            var data = jqXHR.responseJSON;
                            window.location.href = data.url;
                        },
                        error: function (jqXHR, textStatus, errorThrown)
                        {
                            var data = jqXHR.responseJSON;
                            errorsHtml = '&lt;div class="alert alert-danger"&gt;&lt;button type="button" class="close" data-dismiss="alert" aria-label="Close"&gt;&lt;span aria-hidden="true"&gt;&amp;times;&lt;/span&gt;&lt;/button&gt;&lt;ul&gt;';

                            $.each(data, function (key, value) {
                                errorsHtml += '&lt;li&gt;' + value[0] + '&lt;/li&gt;';
                            });
                            errorsHtml += '&lt;/ul&gt;&lt;/di&gt;';

                            $(".modalError").html(errorsHtml);
                        },
                        xhr: function () {
                            var xhr = $.ajaxSettings.xhr();
                            xhr.upload.onprogress = function (e) {
                                $(".progress-bar").attr("style", "width:" + Math.floor(e.loaded / e.total * 100) + "%");
                                $(".progress-bar").html(Math.floor(e.loaded / e.total * 100) + "%");
                            };
                            return xhr;
                        },
                    });
            e.preventDefault();
            e.unbind();
        });
    });
&lt;/script&gt;</pre>
<p style="text-align: left;">Jangan lupa untuk Route nya adalah sebagai berikut :</p>
<pre class="lang:default decode:true EnlighterJSRAW">Route::resource('data-file', 'TbFileController');</pre>
<h3 style="text-align: left;">Uji Coba</h3>
<p style="text-align: left;">Setelah semua script di atas di pasang, kita mulai menampilkan halaman awal terlebih dahulu.</p>
<div id="attachment_2086" style="width: 574px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2086" decoding="async" loading="lazy" class="wp-image-2086 " src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_005-1024x476.jpg" alt="Membuat Form Upload File dengan Ajax dan Framework Laravel" width="564" height="263" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_005-1024x476.jpg 1024w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_005-300x139.jpg 300w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_005-768x357.jpg 768w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_005.jpg 1798w" sizes="(max-width: 564px) 100vw, 564px" /><p id="caption-attachment-2086" class="wp-caption-text">Membuat Form Upload File dengan Ajax dan Framework Laravel</p></div>
<p style="text-align: left;">Kemudian kita klik tombol upload foto sehingga akan muncul form dalam bentuk modal bootstrap.</p>
<div id="attachment_2087" style="width: 573px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2087" decoding="async" loading="lazy" class="wp-image-2087 " src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_006-1024x674.jpg" alt="Membuat Form Upload File dengan Ajax dan Framework Laravel" width="563" height="370" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_006-1024x674.jpg 1024w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_006-300x198.jpg 300w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_006-768x506.jpg 768w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_006.jpg 1312w" sizes="(max-width: 563px) 100vw, 563px" /><p id="caption-attachment-2087" class="wp-caption-text">Membuat Form Upload File dengan Ajax dan Framework Laravel</p></div>
<p style="text-align: left;">Kemudian kita isi form dan file yang ingin di upload, kemudian submit form tersebut.</p>
<div id="attachment_2090" style="width: 570px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2090" decoding="async" loading="lazy" class="wp-image-2090 " src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_008-1024x433.jpg" alt="Membuat Form Upload File dengan Ajax dan Framework Laravel" width="560" height="237" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_008-1024x433.jpg 1024w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_008-300x127.jpg 300w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_008-768x325.jpg 768w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_008.jpg 1163w" sizes="(max-width: 560px) 100vw, 560px" /><p id="caption-attachment-2090" class="wp-caption-text">Membuat Form Upload File dengan Ajax dan Framework Laravel</p></div>
<p style="text-align: left;">Foilahh, gambar berhasil terupload <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .</p>
<div id="attachment_2091" style="width: 569px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2091" decoding="async" loading="lazy" class="wp-image-2091 " src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_010-1024x500.jpg" alt="Membuat Form Upload File dengan Ajax dan Framework Laravel" width="559" height="273" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_010-1024x500.jpg 1024w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_010-300x147.jpg 300w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_010-768x375.jpg 768w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_010.jpg 1810w" sizes="(max-width: 559px) 100vw, 559px" /><p id="caption-attachment-2091" class="wp-caption-text">Membuat Form Upload File dengan Ajax dan Framework Laravel</p></div>
<p style="text-align: left;">Anda juga dapat menambahkan validasi, agar file jenis tertentu saja yang boleh di upload, untuk daftar validasinya anda bisa lihat <a href="https://laravel.com/docs/5.4/validation#rule-mimetypes">disini</a>.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">$this-&gt;validate($request,[
      'nama' =&gt; 'required',
      'file' =&gt; 'required|mimes:jpg'
]);</pre>
<p style="text-align: left;"><img decoding="async" loading="lazy" class="wp-image-2099 size-full aligncenter" src="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_012-e1490748767978.jpg" alt="Membuat Form Upload File dengan Ajax dan Framework Laravel" width="550" height="339" srcset="https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_012-e1490748767978.jpg 550w, https://mragus.com/wp-content/uploads/2017/03/Agus_wiji_suhariono_Selection_012-e1490748767978-300x185.jpg 300w" sizes="(max-width: 550px) 100vw, 550px" /></p>
<p style="text-align: left;">Mudah bukan <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> , sekian tutorial dari saya, semoga dapat bermanfaat, tetap belajar dan berusaha <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> . Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-form-upload-file-dengan-ajax-dan-framework-laravel/">Membuat Form Upload File dengan Ajax dan Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-form-upload-file-dengan-ajax-dan-framework-laravel/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>Autentikasi User menggunakan role dan middleware di Framework Laravel</title>
		<link>https://mragus.com/autentikasi-user-menggunakan-role-dan-middleware-di-framework-laravel/</link>
					<comments>https://mragus.com/autentikasi-user-menggunakan-role-dan-middleware-di-framework-laravel/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sun, 25 Sep 2016 11:32:59 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=1944</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan share postingan mengenai cara membuat autentikasi user menggunakan role dan middleware di Framework Laravel. Pada sebuah aplikasi, autentikasi merupakan hal yang harus di perhatikan. Autentikasi menjadi hal yang penting karena&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/autentikasi-user-menggunakan-role-dan-middleware-di-framework-laravel/">Autentikasi User menggunakan role dan middleware di Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wr wb, pada kesempatan kali ini saya akan share postingan mengenai cara membuat autentikasi user menggunakan role dan middleware di Framework Laravel. Pada sebuah aplikasi, autentikasi merupakan hal yang harus di perhatikan. Autentikasi menjadi hal yang penting karena digunakan untuk memfilter informasi yang <span id="more-1944"></span>akan kita sajikan pada pengguna. Jika kita membuat sebuah aplikasi yang enterprise, tentunya tidak semua user di samaratkan fiturnya untuk mengakses aplikasi tersebut. Oleh karena itu kita perlu membuat sebuat user leveling atau role untuk menangani akses user sesuai dengan jabatan atau ketentuan tertentu.</p>
<p style="text-align: left;">Laravel menyediakan fitur untuk membuat konfigurasi autentikasi pengguna dengan mudah, dan menghemat waktu. Tetapi untuk membuat sebuah role kita perlu modifikasi route dan menambahkan sebuah middleware, karena middleware lah yang akan menjadi penengah antara request dan response.</p>
<h3 style="text-align: left;">Autentikasi user menggunakan role dan middleware di framework laravel</h3>
<p style="text-align: left;">Pertama-tama kita buat terlebih dahulu desain database nya, pertama adalah table user yang digunakan untuk menyimpan data akun, dan tabel role yang di gunakan untuk menyimpan data role.</p>
<p style="text-align: left;">Tabel user :</p>
<pre class="lang:default decode:true EnlighterJSRAW">+----------------+------------------+------+-----+---------+----------------+
| Field          | Type             | Null | Key | Default | Extra          |
+----------------+------------------+------+-----+---------+----------------+
| id             | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| role_id        | int(10) unsigned | NO   |     | 0       |                |
| name           | varchar(255)     | NO   |     | NULL    |                |
| email          | varchar(255)     | NO   | UNI | NULL    |                |
| password       | varchar(255)     | NO   |     | NULL    |                |
| remember_token | varchar(100)     | YES  |     | NULL    |                |
| created_at     | timestamp        | YES  |     | NULL    |                |
| updated_at     | timestamp        | YES  |     | NULL    |                |
+----------------+------------------+------+-----+---------+----------------+
</pre>
<p style="text-align: left;"> Tabel Role :</p>
<pre class="lang:default decode:true EnlighterJSRAW">+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| id    | int(11)  | NO   | PRI | NULL    | auto_increment |
| nama  | tinytext | NO   |     | NULL    |                |
+-------+----------+------+-----+---------+----------------+
</pre>
<p style="text-align: left;">Kemudian kita buat model role dan user pada project kita. Saya akan membuat 2 buah role dengan nama level admin dan tamu, gunakan tinker untuk memasukkan data.</p>
<div id="attachment_1948" style="width: 525px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1948" decoding="async" loading="lazy" class="wp-image-1948 " src="https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-18-215340-e1474800220822.png" alt="Autentikasi User menggunakan role dan middleware di Framework Laravel" width="515" height="140" srcset="https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-18-215340-e1474800220822.png 728w, https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-18-215340-e1474800220822-300x82.png 300w" sizes="(max-width: 515px) 100vw, 515px" /><p id="caption-attachment-1948" class="wp-caption-text">Autentikasi User menggunakan role dan middleware di Framework Laravel</p></div>
<div id="attachment_1949" style="width: 530px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1949" decoding="async" loading="lazy" class="wp-image-1949 " src="https://mragus.com/wp-content/uploads/2016/09/Selection_147-e1474800287677.png" alt="Autentikasi User menggunakan role dan middleware di Framework Laravel" width="520" height="189" srcset="https://mragus.com/wp-content/uploads/2016/09/Selection_147-e1474800287677.png 715w, https://mragus.com/wp-content/uploads/2016/09/Selection_147-e1474800287677-300x109.png 300w" sizes="(max-width: 520px) 100vw, 520px" /><p id="caption-attachment-1949" class="wp-caption-text">Autentikasi User menggunakan role dan middleware di Framework Laravel</p></div>
<h3 style="text-align: left;">Scripting</h3>
<p style="text-align: left;">Kita mulai ngoding, mulai dari pembuatan midleware, serta penambahan fungsi pada model user. Dimulai dengan membuat sebuah middleware dengan nama CekRole dengan menggunakan artisan.</p>
<pre class="lang:default decode:true EnlighterJSRAW">php artisan make:middleware CekRole</pre>
<p style="text-align: left;">Kemudian kita buat dua buah fungsi :</p>
<ol style="text-align: left;">
<li>Fungsi handle digunakan untuk membandingkan role user dan route yang di akses apakah sesuai, jika tidak sesuai maka akan di redirect dengan http status 503.</li>
<li>Fungsi cekRoute digunakan untuk mengecek aksesibility route.</li>
</ol>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
namespace App\Http\Middleware;
use Closure;

class CekRole
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $roles = $this-&gt;CekRoute($request-&gt;route());
        
        if($request-&gt;user()-&gt;hasRole($roles) || !$roles)
        {
            return $next($request);
        }
        return abort(503, 'Anda tidak memiliki hak akses');
    }

    private function CekRoute($route)
    {
        $actions = $route-&gt;getAction();
        return isset($actions['roles']) ? $actions['roles'] : null;
    }
}
</pre>
<p style="text-align: left;">Kernel.php</p>
<pre class="lang:default decode:true EnlighterJSRAW">protected $routeMiddleware = [
        'auth' =&gt; \App\Http\Middleware\Authenticate::class,
        'auth.basic' =&gt; \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'can' =&gt; \Illuminate\Foundation\Http\Middleware\Authorize::class,
        'guest' =&gt; \App\Http\Middleware\RedirectIfAuthenticated::class,
        'throttle' =&gt; \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'roles'    =&gt; \App\Http\Middleware\CekRole::class,
    ];</pre>
<p style="text-align: left;">Jangan lupa daftarkan middleware pada kernel(App\Http\Kernel.php), kemudian lanjut kita buat fungsi pada model user.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $table = 'users';
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    public function role()
    {
        return $this-&gt;belongsTo('App\Role','role_id');
    }

    public function hasRole($roles)
    {
        $this-&gt;have_role = $this-&gt;getUserRole();
        
        if(is_array($roles)){
            foreach($roles as $need_role){
                if($this-&gt;cekUserRole($need_role)) {
                    return true;
                }
            }
        } else{
            return $this-&gt;cekUserRole($roles);
        }
        return false;
    }
    private function getUserRole()
    {
       return $this-&gt;role()-&gt;getResults();
    }
    
    private function cekUserRole($role)
    {
        return (strtolower($role)==strtolower($this-&gt;have_role-&gt;nama)) ? true : false;
    }
}
</pre>
<p style="text-align: left;">Penjelasan :</p>
<ol style="text-align: left;">
<li>Fungsi getUserRole() : untuk mengecek id role dari table user ke table role.</li>
<li>Fungsi cekUserRole() : untuk membandingkan role di routes dengan role di user.</li>
<li>public function role() : relationship fungsi ke model role.</li>
<li>hasRole :  untuk membandingkan role, dengan menggunakan fungsi getUserRole() dan cekUserRole(), pada fungsi ini terdapat kondisi, is array untuk mengecek apakah role dari route berupa array atau tidak.</li>
</ol>
<p style="text-align: left;">Kita sesuaikan juga routesnya, kita tentukan filter role apa saja yang bisa mengakses.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">Route::auth();

Route::get('/home',function(){
 return view('welcome');
});

Route::get('/', function () {
    return view('welcome');
});

Route::group(['middleware' =&gt; ['web', 'auth', 'roles']],function(){
 Route::group(['roles'=&gt;'Tamu'],function(){
  Route::resource('site', 'SiteController');
 });
 
 Route::group(['roles'=&gt;'Admin'],function(){
  Route::resource('user', 'UserController');
 });
});</pre>
<h3 style="text-align: left;">Uji Coba</h3>
<p style="text-align: left;">Setelah semua persiapan di atas sudah di buat, selanjutnya kita mulai uji coba, disini saya akan login dengan role sebagai admin. Role admin hanya dapat mengakses route UserController.</p>
<div id="attachment_1969" style="width: 530px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1969" decoding="async" loading="lazy" class="wp-image-1969 " src="https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193226-1024x518.png" alt="Autentikasi User menggunakan role dan middleware di Framework Laravel" width="520" height="263" srcset="https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193226-1024x518.png 1024w, https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193226-300x152.png 300w, https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193226-768x389.png 768w, https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193226.png 1597w" sizes="(max-width: 520px) 100vw, 520px" /><p id="caption-attachment-1969" class="wp-caption-text">Autentikasi User menggunakan role dan middleware di Framework Laravel</p></div>
<div id="attachment_1968" style="width: 532px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1968" decoding="async" loading="lazy" class="wp-image-1968 " src="https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193047-1024x521.png" alt="Autentikasi User menggunakan role dan middleware di Framework Laravel" width="522" height="265" srcset="https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193047-1024x521.png 1024w, https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193047-300x153.png 300w, https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193047-768x390.png 768w, https://mragus.com/wp-content/uploads/2016/09/Screenshot-from-2016-09-25-193047.png 1599w" sizes="(max-width: 522px) 100vw, 522px" /><p id="caption-attachment-1968" class="wp-caption-text">Autentikasi User menggunakan role dan middleware di Framework Laravel</p></div>
<p style="text-align: left;">User dengan role admin bisa mengakses aplikasi dengan route user, tetapi ketika mengakses route site akan di redirect ke halaman error. Mudah Bukan <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p style="text-align: left;">Sekian tutorial singkat dari saya, semoga dapat bermanfaat. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/autentikasi-user-menggunakan-role-dan-middleware-di-framework-laravel/">Autentikasi User menggunakan role dan middleware di Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/autentikasi-user-menggunakan-role-dan-middleware-di-framework-laravel/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>Validasi form di Modal Bootstrap pada framework Laravel</title>
		<link>https://mragus.com/validasi-form-di-modal-bootstrap-pada-framework-laravel/</link>
					<comments>https://mragus.com/validasi-form-di-modal-bootstrap-pada-framework-laravel/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Mon, 29 Aug 2016 14:34:04 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=1929</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, kali ini saya akan sharing cara membuat validasi form di modal bootstrap pada framework laravel. Pada tulisan saya sebelumnya saya sudah membuat cara membuat validasi request dan membuat modal bootstrap di framework Laravel. Saya akan mencoba menggabungkan kedua&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/validasi-form-di-modal-bootstrap-pada-framework-laravel/">Validasi form di Modal Bootstrap pada framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wr wb, kali ini saya akan sharing cara membuat validasi form di modal bootstrap pada framework laravel. Pada tulisan saya sebelumnya saya sudah membuat cara membuat <a href="https://mragus.com/membuat-validasi-request-di-framework-laravel/">validasi request</a> dan <a href="https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/">membuat modal bootstrap</a> di framework Laravel.<span id="more-1929"></span></p>
<p style="text-align: left;">Saya akan mencoba menggabungkan kedua hal tersebut untuk membuat sebuah form yang dapat di validasi dan menampilkan pesan errornya pada modal bootstrap.</p>
<h2>Validasi form di Modal Bootstrap pada framework Laravel</h2>
<p style="text-align: left;">Metode yang saya gunakan adalah data akan di submit melalui ajax, dan untuk response error atau success nya di ambil dari JSON.</p>
<p style="text-align: left;">Konten modal ini juga dapat di gunakan secara dinamis, teman-teman tidak perlu membuat modal untuk menampilkan form dan pesan error untuk tiap tiap form yang di buat. Form akan di render secara partial pada konten modal yang terdapat pada layout.</p>
<p style="text-align: left;">Koding yang di buat tidak akan seribet seperti penjelasan saya di atas, anda hanya cukup mengerti bagaimana cara Jquery bekerja <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .</p>
<p style="text-align: left;">Aplikasi yang saya gunakan seperti pada aplikasi sebelumnya <a href="https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/">disini</a>, kita hanya perlu merubah sedikit script pada javasript dan form. Saya akan mencoba mencoba form untuk insert data pada tabel blog. Pertama tama kita buat button untuk menampilkan sebuah form pada modal.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;a href="#" value="{{ action('SiteController@create') }}" class="btn btn-info modalMd" title="Create data dari Ajax" data-toggle="modal" data-target="#modalMd"&gt;Create From Modal&lt;/a&gt;
</pre>
<p style="text-align: left;">Kemudian kita tambahkan javascript untuk menghandle submit form melalui ajax.</p>
<pre class="lang:default decode:true EnlighterJSRAW">$(document).on('ajaxComplete', function () {
 $(function () {
    $.ajaxSetup({
      headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }
    });
 });

 $(".ajaxSubmit").on('submit',function(e){
   var form = $(this);
  
   $.ajax({
    type: "POST",
    url: form.attr( 'action' ),
    data: form.serialize(),
    success:function(data, textStatus, jqXHR) 
    {
      var data = jqXHR.responseJSON;
      window.location.href = data.url;
    },
    error: function(jqXHR, textStatus, errorThrown) 
    {
      var data = jqXHR.responseJSON; 
      errorsHtml = '&lt;div class="alert alert-danger"&gt;&lt;ul&gt;';

      $.each( data, function( key, value ) {
       errorsHtml += '&lt;li&gt;' + value[0] + '&lt;/li&gt;';
      });
      errorsHtml += '&lt;/ul&gt;&lt;/di&gt;';
      $(".modalError").html(errorsHtml);
    }
  });
  e.preventDefault();
  e.unbind();
  });
});</pre>
<p style="text-align: left;">Penjelasan :</p>
<ul style="text-align: left;">
<li><em>on(ajaxComplete)</em> : agar fungsi ini dapat di akses ketika kita terdapat request ajax.</li>
<li>Saya tambahkan <em>token</em> pada http header, agar tidak terjadi<em> error CSRF</em>  pada saat submit form         dengan method POST.</li>
<li>Ketika Ajax mengembalikan response sukses, halaman akan di refresh dan di arahkan ke object <em>url</em>.</li>
<li>Ketika Ajax mengembalikan response error, pesan error akan dimasukkan pada variabel <em>errorsHtml</em> dan akan ditampilkan pada class <em>modalError.</em></li>
<li>e.preventDefault : agar form tidak lari saat form di lakukan proses submit <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .</li>
</ul>
<p style="text-align: left;">Modifikasi Controller pada method  create dan store, kita juga dapat mengecek apakah request yang diterima apakah melalui ajax atau tidak dengan menggunakan fungsi <em>$request-&gt;ajax()</em>.</p>
<p style="text-align: left;">Untuk method create kita tambahkan skrip agar dapat di render secara partial pada <em>section(&#8216;content&#8217;)</em>.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function create(Request $request)
    {
        $blog = new TbBlog;
        $kategori = TbKategori::lists('nama_kategori','id_kategori');

        if($request-&gt;ajax()){
            return view('site.create',compact('blog','kategori'))-&gt;renderSections()['content'];
        }else{
            return view('site.create',compact('blog','kategori'));
        }
    }</pre>
<p style="text-align: left;">Pada method store, tambahkan skrip untuk mengembalikan response sukses yang akan diterima oleh ajax.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">public function store(SiteRequest $request)
   {
       $blog = new TbBlog;
       $blog-&gt;id_kategori = $request-&gt;id_kategori;
       $blog-&gt;tanggal = $request-&gt;tanggal;
       $blog-&gt;judul = $request-&gt;judul;
       $blog-&gt;isi = $request-&gt;isi;
       $blog-&gt;status = $request-&gt;status;

       $blog-&gt;save();

       if($request-&gt;ajax()){
           \Session::flash('flash_message','data berhasil disimpan');
           $response = array(
               'status' =&gt; 'success',
               'url' =&gt; action('SiteController@index'),
               );
           return $response;
       }else{
           \Session::flash('flash_message','data berhasil di simpan');
           return redirect()-&gt;action('SiteController@index');
       }
   }</pre>
<pre class="lang:default decode:true EnlighterJSRAW">@extends('layouts.main')

@section('title', 'Create')
@section('content')

&lt;div class="row"&gt;
 &lt;div class="col-lg-12"&gt;
  &lt;h4&gt;Create Blog&lt;/h4&gt;
  {!! Form::model($blog, array('action' =&gt; 'SiteController@store','class'=&gt;'ajaxSubmit')) !!}
   @include('site._form')
  {!! Form::close() !!}
&lt;/div&gt;

@endsection</pre>
<p style="text-align: left;">Sesuaikan juga class pada form create, kita tambahkan class ajaxSubmit.</p>
<h4 style="text-align: left;">Uji Coba</h4>
<div id="attachment_1935" style="width: 639px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1935" decoding="async" loading="lazy" class="wp-image-1935 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_082-1024x359.png" alt="Validasi form di Modal Bootstrap pada framework Laravel" width="629" height="220" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_082-1024x359.png 1024w, https://mragus.com/wp-content/uploads/2016/08/Selection_082-300x105.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_082-768x269.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_082.png 1484w" sizes="(max-width: 629px) 100vw, 629px" /><p id="caption-attachment-1935" class="wp-caption-text">Validasi form di Modal Bootstrap pada framework Laravel</p></div>
<p style="text-align: left;">Setelah seluruh skrip di atas dibuat, saatnya kita mulai uji coba apakah proses dapat berjalan dengan baik. Pertama tama saya tampilkan view utama untuk menampilkan data blog. Kita coba aktifkan form pada modal bootstrap dengan menekan tombol <em>Create From Modal</em>.</p>
<div id="attachment_1936" style="width: 559px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1936" decoding="async" loading="lazy" class="wp-image-1936 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_083-1024x612.png" alt="Validasi form di Modal Bootstrap pada framework Laravel" width="549" height="328" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_083-1024x612.png 1024w, https://mragus.com/wp-content/uploads/2016/08/Selection_083-300x179.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_083-768x459.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_083.png 1233w" sizes="(max-width: 549px) 100vw, 549px" /><p id="caption-attachment-1936" class="wp-caption-text">Validasi form di Modal Bootstrap pada framework Laravel</p></div>
<p style="text-align: left;">Kita coba submit dalam posisi data masih kosong untuk mengecek apakan pesan error dari form validation berjalan dengan baik.</p>
<div id="attachment_1937" style="width: 571px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1937" decoding="async" loading="lazy" class="wp-image-1937 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_084-1024x627.png" alt="Validasi form di Modal Bootstrap pada framework Laravel" width="561" height="344" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_084-1024x627.png 1024w, https://mragus.com/wp-content/uploads/2016/08/Selection_084-300x184.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_084-768x470.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_084.png 1222w" sizes="(max-width: 561px) 100vw, 561px" /><p id="caption-attachment-1937" class="wp-caption-text">Validasi form di Modal Bootstrap pada framework Laravel</p></div>
<p style="text-align: left;">Pesan error muncul pada modal bootstrap yang kita buat <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> , sekarang kita isikan data yang sesuai dan submit form tersebut.</p>
<div id="attachment_1938" style="width: 572px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1938" decoding="async" loading="lazy" class="wp-image-1938 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_085-1024x644.png" alt="Validasi form di Modal Bootstrap pada framework Laravel" width="562" height="354" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_085-1024x644.png 1024w, https://mragus.com/wp-content/uploads/2016/08/Selection_085-300x189.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_085-768x483.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_085.png 1158w" sizes="(max-width: 562px) 100vw, 562px" /><p id="caption-attachment-1938" class="wp-caption-text">Validasi form di Modal Bootstrap pada framework Laravel</p></div>
<div id="attachment_1939" style="width: 576px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1939" decoding="async" loading="lazy" class="wp-image-1939 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_086-1024x494.png" alt="Validasi form di Modal Bootstrap pada framework Laravel" width="566" height="273" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_086-1024x494.png 1024w, https://mragus.com/wp-content/uploads/2016/08/Selection_086-300x145.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_086-768x370.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_086.png 1476w" sizes="(max-width: 566px) 100vw, 566px" /><p id="caption-attachment-1939" class="wp-caption-text">Validasi form di Modal Bootstrap pada framework Laravel</p></div>
<p style="text-align: left;">Data berhasil di create dan di tambahkan pada tabel blog. Cukup mudah bukan, skrip nya juga tidak begitu banyak mengingat metode ini dapat digunakan secara dinamis pada tiap tiap form yang ingin dibuat submit datanya juga melalui modal.</p>
<p style="text-align: left;">Sekian tutorial dari saya, semoga dapat bermanfaat dan di gunakan dengan baik, CMIWW. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/validasi-form-di-modal-bootstrap-pada-framework-laravel/">Validasi form di Modal Bootstrap pada framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/validasi-form-di-modal-bootstrap-pada-framework-laravel/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat modal bootstrap di framework Laravel</title>
		<link>https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/</link>
					<comments>https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sun, 28 Aug 2016 12:28:37 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=1923</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, artikel kali ini saya akan bahas mengenai cara membuat modal bootstrap di framework laravel. Pada artikel yang lain saya pernah menulis juga cara membuat modal, tetapi pada framework Yii2. Seperti pada artikel tersebut modal ini akan&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/">Membuat modal bootstrap di framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wr wb, artikel kali ini saya akan bahas mengenai cara membuat modal bootstrap di framework laravel. Pada artikel yang lain saya pernah menulis juga cara membuat modal, tetapi pada <a href="https://mragus.com/modal-bootstrap-yii2/">framework Yii2</a>. Seperti pada artikel tersebut modal ini akan di tampilkan secara dinamis dan bisa di gunakan untuk <span id="more-1923"></span>menampilkan berbagai macam view.</p>
<p style="text-align: left;">Modal tidak harus di buat berulang pada setiap view, karena pada modal content akan meng load view dari Controller. Secara dasar, cara membuat modal pada laravel dan yii tidak ada bedanya, karena menggunakan jquery dan hanya harus menampilkan view secara partial.</p>
<h4 style="text-align: left;">Membuat modal bootstrap di framework Laravel</h4>
<p style="text-align: left;">Aplikasi yang saya gunakan pada artikel ini, sama dengan yang saya gunakan artikel saya sebelumnya <a href="https://mragus.com/membuat-crud-di-laravel-dengan-restful-controller/">CRUD dengan RESTful controller di framework Laravel</a>. Modal yang saya buat akan menampilkan data sesuai dengan item yang di klik pada tabel yang tersedia. Untuk lebih jelasnya, langsung saja kita mulai membuat kodingnya.</p>
<p style="text-align: left;">Kita buat terlebih dulu JQuery nya.</p>
<pre class="lang:default decode:true EnlighterJSRAW">$(document).on('ajaxComplete ready', function () {
    $('.modalMd').off('click').on('click', function () {
        $('#modalMdContent').load($(this).attr('value'));
        $('#modalMdTitle').html($(this).attr('title'));
    });
});</pre>
<p style="text-align: left;">Kemudian kita buat modal pada layout.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;div class="modal fade" id="modalMd" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"&gt;
          &lt;div class="modal-dialog" role="document"&gt;
              &lt;div class="modal-content"&gt;
                  &lt;div class="modal-header"&gt;
                      &lt;button type="button" class="close" data-dismiss="modal" aria-label="Close"&gt;&lt;span aria-hidden="true"&gt;&amp;times;&lt;/span&gt;&lt;/button&gt;
                      &lt;h4 class="modal-title" id="modalMdTitle"&gt;&lt;/h4&gt;
                  &lt;/div&gt;
                  &lt;div class="modal-body"&gt;
                      &lt;div class="modalError"&gt;&lt;/div&gt;
                      &lt;div id="modalMdContent"&gt;&lt;/div&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
</pre>
<p style="text-align: left;">Kita dapat lihat pada class modal title saya tambahkan id m<em>odalMdTitle </em>untuk menampilkan title secara dinamis. Pada class modal body juga saya tambahkan div yang mempunyai id <em>modalMdContent </em>untuk menampilkan konten secara dinamis. Kemudian kita buat controller yang akan digunakan.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function show(Request $request,$id)
    {
        $blog = TbBlog::find($id);
        return view('site.show',compact('blog'))-&gt;renderSections()['content'];
    }</pre>
<p style="text-align: left;"><em>fungsi renderSections digunakan untuk menampilkan view secara partial dengan @yield(&#8216;content&#8217;).</em> Kita sesuaian juga view yang digunakan pada tabel blog.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;div class="row" style="margin-top:10px"&gt;
 &lt;div class="col-lg-12"&gt;
  &lt;table class="table table-bordered table-hover"&gt;
   &lt;thead&gt;
    &lt;tr&gt; 
     &lt;th&gt;Kategori&lt;/th&gt;
     &lt;th&gt;Tanggal&lt;/th&gt;
     &lt;th&gt;Judul&lt;/th&gt;
     &lt;th&gt;Isi&lt;/th&gt;
     &lt;th&gt;Status&lt;/th&gt;
     &lt;th&gt;Action&lt;/th&gt;
    &lt;/tr&gt;
   &lt;/thead&gt;
   &lt;tbody&gt;
    @foreach($blog as $row)
    &lt;tr&gt;
     &lt;td&gt;{{ $row-&gt;id_kategori }}&lt;/td&gt;
     &lt;td&gt;{{ $row-&gt;tanggal }}&lt;/td&gt;
     &lt;td&gt;{{ $row-&gt;judul }}&lt;/td&gt;
     &lt;td&gt;{{ $row-&gt;isi }}&lt;/td&gt;
     &lt;td&gt;{{ $row-&gt;status }}&lt;/td&gt;
     &lt;td&gt;
      &lt;a href="{{ action('SiteController@edit',['id'=&gt;$row-&gt;id]) }}" class="btn btn-xs btn-success"&gt;&lt;i class="glyphicon glyphicon-pencil"&gt;&lt;/i&gt;&lt;/a&gt;
      &lt;form action="{{ action('SiteController@destroy',['id'=&gt;$row-&gt;id]) }}" method="POST"&gt;
       {{ csrf_field() }}
       {{ method_field('DELETE') }}
       &lt;button class="btn btn-xs btn-danger" title="Delete InspTemuanItem" onclick="return confirm('Confirm delete?')" type="submit"&gt;
        &lt;i class="glyphicon glyphicon-trash"&gt;&lt;/i&gt;
       &lt;/button&gt;   
      &lt;/form&gt;	
      &lt;a href="#" value="{{ action('SiteController@show',['id'=&gt;$row-&gt;id]) }}" class="btn btn-xs btn-info modalMd" title="Show Data" data-toggle="modal" data-target="#modalMd"&gt;&lt;span class="glyphicon glyphicon-eye-open"&gt;&lt;/span&gt;&lt;/a&gt;
     &lt;/td&gt;
    &lt;/tr&gt;
    @endforeach
   &lt;/tbody&gt;
  &lt;/table&gt;
 &lt;/div&gt;
&lt;/div&gt;
</pre>
<p style="text-align: left;">Perhatikan tag anchor, href di beri nilai &#8220;#&#8221; dan value nya berisi controller yang akan di akses. Sesuaikan juga view yang digunakan untuk menampilkan detail data blog.</p>
<pre class="lang:default decode:true EnlighterJSRAW">@extends('layouts.main')

@section('title', 'CRUD BLOG')
@section('content')
&lt;div class="row"&gt;
 &lt;div class="col-lg-12"&gt;
  &lt;table class="table table-bordered table-hover"&gt;
   &lt;thead&gt;
    &lt;tr&gt;
     &lt;th&gt;Kategori&lt;/th&gt;
     &lt;td&gt;{{ $blog-&gt;kategori-&gt;nama_kategori }}&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
     &lt;th&gt;Judul&lt;/th&gt;
     &lt;td&gt;{{ $blog-&gt;judul }}&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
     &lt;th&gt;Tanggal&lt;/th&gt;
     &lt;td&gt;{{ $blog-&gt;tanggal }}&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
     &lt;th&gt;Isi&lt;/th&gt;
     &lt;td&gt;{{ $blog-&gt;isi }}&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
     &lt;th&gt;Status&lt;/th&gt;
     &lt;td&gt;{{ $blog-&gt;statusBlog() }}&lt;/td&gt;
    &lt;/tr&gt;
   &lt;/thead&gt;
  &lt;/table&gt;
 &lt;/div&gt;
&lt;/div&gt;
@endsection</pre>
<h4 style="text-align: left;">Uji Coba</h4>
<p style="text-align: left;">Setelah semua persiapan selesai, kita mulai untuk test apakah sudah berjalan secara normal. Coba kita klik view detail data untuk tiap-tiap row item pada tabel blog.</p>
<div id="attachment_1925" style="width: 541px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1925" decoding="async" loading="lazy" class="wp-image-1925 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_001.png" alt="Membuat modal bootstrap di framework Laravel" width="531" height="222" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_001.png 1394w, https://mragus.com/wp-content/uploads/2016/08/Selection_001-300x125.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_001-768x321.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_001-1024x428.png 1024w" sizes="(max-width: 531px) 100vw, 531px" /><p id="caption-attachment-1925" class="wp-caption-text">Membuat modal bootstrap di framework Laravel</p></div>
<div id="attachment_1926" style="width: 540px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1926" decoding="async" loading="lazy" class="wp-image-1926 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_081.png" alt="Membuat modal bootstrap di framework Laravel" width="530" height="219" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_081.png 1394w, https://mragus.com/wp-content/uploads/2016/08/Selection_081-300x124.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_081-768x317.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_081-1024x422.png 1024w" sizes="(max-width: 530px) 100vw, 530px" /><p id="caption-attachment-1926" class="wp-caption-text">Membuat modal bootstrap di framework Laravel</p></div>
<p style="text-align: left;">Modal berhasil menampilkan data sesuai dengan row yang kita pilih. Sekian Artikel yang saya buat, semoga dapat bermanfaat dan dipakai dengan baik. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/">Membuat modal bootstrap di framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-modal-bootstrap-di-framework-laravel/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat validasi request di framework Laravel</title>
		<link>https://mragus.com/membuat-validasi-request-di-framework-laravel/</link>
					<comments>https://mragus.com/membuat-validasi-request-di-framework-laravel/#respond</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Thu, 18 Aug 2016 02:52:42 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=1910</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan memberikan tutorial mengenai cara membuat validasi request di framework Laravel. Setelah sebelumnya saya sudah membuat tutorial mengenai cara membuat CRUD dengan restful controller, tidak afdol rasanya jika tidak ada sebuah&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-validasi-request-di-framework-laravel/">Membuat validasi request di framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wr wb, pada kesempatan kali ini saya akan memberikan tutorial mengenai cara membuat validasi request di framework Laravel. Setelah sebelumnya saya sudah membuat tutorial mengenai cara membuat <a href="https://mragus.com/membuat-crud-di-laravel-dengan-restful-controller/">CRUD dengan restful controller</a>, tidak afdol rasanya jika tidak ada sebuah metode validasi data pada crud tersebut. Validasi data adalah<span id="more-1910"></span> hal penting yang harus di lakukan pada sebuah form, karena hal tersebut akan menambah ke validan data yang akan di masukkan database yang terkait. End user tidak dapat sembarangan mengisi data pada inputan form. Mereka harus mengikuti kaidah kaidah yang sudah di tentukan, misalnya untuk inputan nama tidak boleh ada integer(angka), inputan email harus menggunakan format email dsb.</p>
<p style="text-align: left;">Laravel termasuk framework yang kaya fitur dan mampu mengakomodir permintaan kita, laravel menyediakan class yang menangani http request. Class ini dapat digunaan untuk mengecek apakah request memiliki method post atau get, dapat mengetahui apakah request dari ajax, termasuk melakukan sebuah metode validasi data. Oke langsung saja kita mulai untuk membuat validasi request di framework Laravel</p>
<h4 style="text-align: left;">Membuat validasi request di framework Laravel</h4>
<p style="text-align: left;">Untuk persiapan awal kita buat terlebih dahulu sebuah file request yang akan digunakan untuk memvalidasi form yang akan kita buat dengan artisan.</p>
<pre class="lang:default decode:true EnlighterJSRAW">php artisan make:request SiteRequest</pre>
<p style="text-align: left;">File yang tergenerate akan terdapat di App\Http\Requests\SiteRequest. Saya membuat validasi untuk field field yang di submit harus required /  tidak boleh kosong. Pada file SiteRequest kita tambahkan rule nya sebagai berikut, untuk rule yang lain anda bisa lihat di website resminya <a href="https://laravel.com/docs/5.2/validation#available-validation-rules">disini</a>.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class SiteRequest extends Request
{
    public function authorize()
    {
        return TRUE;
    }
    public function rules()
    {
        return [
            'tanggal' =&gt; 'required',
            'judul' =&gt; 'required',
            'isi' =&gt; 'required',
            'status' =&gt; 'required'
        ];
    }
}
</pre>
<p style="text-align: left;">Kemudian pada method yang di gunakan untuk proses menyimpan data kita tambahkan class SiteRequest tersebut.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function store(SiteRequest $request)
    {
        $blog = new TbBlog;
        $blog-&gt;id_kategori = $request-&gt;id_kategori;
        $blog-&gt;tanggal = $request-&gt;tanggal;
        $blog-&gt;judul = $request-&gt;judul;
        $blog-&gt;isi = $request-&gt;isi;
        $blog-&gt;status = $request-&gt;status;
        $blog-&gt;save();
        \Session::flash('flash_message','data berhasil di simpan');

        return redirect()-&gt;action('SiteController@index');
    }</pre>
<p style="text-align: left;">*<em> jangan lupa use class SiteRequest ( use App\Http\Requests\SiteRequest )</em></p>
<p style="text-align: left;">Kita buat juga fungsi yang di gunakan untuk menampilkan pesan error, fungsi ini saya letakkan di layout main.</p>
<pre class="lang:default decode:true EnlighterJSRAW">@if ($errors-&gt;any())
  &lt;div class="alert alert-danger alert-dismissible" role="alert"&gt;
     &lt;button type="button" class="close" data-dismiss="alert" aria-label="Close"&gt;&lt;span aria-hidden="true"&gt;&amp;times;&lt;/span&gt;&lt;/button&gt;&lt;em&gt;
  &lt;ul&gt;
    @foreach ($errors-&gt;all() as $error)
    &lt;li&gt;{{ $error }}&lt;/li&gt;
    @endforeach
 &lt;/ul&gt;
&lt;/em&gt;
&lt;/div&gt;
@endif</pre>
<h4 style="text-align: left;">Uji Coba Validasi Form</h4>
<p style="text-align: left;">Sekarang kita coba pada form yang akan digunakan untuk insert data, isian form kita buat kosong.</p>
<div id="attachment_1913" style="width: 533px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1913" decoding="async" loading="lazy" class="wp-image-1913 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_072.png" alt="Membuat validasi request di framework Laravel" width="523" height="479" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_072.png 640w, https://mragus.com/wp-content/uploads/2016/08/Selection_072-300x275.png 300w" sizes="(max-width: 523px) 100vw, 523px" /><p id="caption-attachment-1913" class="wp-caption-text">Membuat validasi request di framework Laravel</p></div>
<p style="text-align: left;">Layout akan menampilkan pesan error, isian apa saja yang kita buat required tadi. Kita juga dapat membuat custom pesan yang akan di tampilkan pada pesan error.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">public function rules()
    {
        return [
            'tanggal' =&gt; 'required',
            'judul' =&gt; 'required|min:10',
            'isi' =&gt; 'required',
            'status' =&gt; 'required'
        ];
    }

    public function messages()
    {
        return [
            'tanggal.required' =&gt; 'Tanggal tidak boleh kosong broo',
            'judul.min' =&gt; 'Untuk Judul minimal 10 Karakter coy',
        ];
    }</pre>
<p style="text-align: left;">Sekian tutorial dari saya mengenai validasi form request di Laravel. Semoga data bermanfaat, Terimakasih.</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-validasi-request-di-framework-laravel/">Membuat validasi request di framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-validasi-request-di-framework-laravel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat CRUD di Laravel dengan RESTful Controller</title>
		<link>https://mragus.com/membuat-crud-di-laravel-dengan-restful-controller/</link>
					<comments>https://mragus.com/membuat-crud-di-laravel-dengan-restful-controller/#respond</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Wed, 17 Aug 2016 16:06:33 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=1881</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya share cara membuat CRUD di Laravel dengan RESTful Controller. Setelah sebelumnya saya memberikan tutorial mengenai cara instalasi framework laravel, tahap berikutnya kita buat CRUD data pada database dengan framework Laravel. Bagi&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-crud-di-laravel-dengan-restful-controller/">Membuat CRUD di Laravel dengan RESTful Controller</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wr wb, pada kesempatan kali ini saya share cara membuat CRUD di Laravel dengan RESTful Controller. Setelah sebelumnya saya memberikan tutorial mengenai cara <a href="https://mragus.com/cara-menginstall-framework-laravel/">instalasi framework laravel</a>, tahap berikutnya kita buat CRUD data pada database dengan framework Laravel. Bagi yang baru belajar sebuah framework, kita harus memiliki dasar <span id="more-1881"></span>dasar cara memanipulasi data dengan menggunakan fungsi yang terdapat pada framework tersebut. Karena pada dasarnya sebuah aplikasi merupakan sekumpulan fungsi manipulasi data yang tersusun secara sistematis dan ter struktur.</p>
<p style="text-align: left;">Laravel menyediakan sebuah controller yang memiliki sekumpulan fungsi lengkap yang bisa melakukan create, read, update dan delete. Hal ini dapat membantu menghemat waktu kita, karena tidak perlu membuat fungsi tersebut dan mendefinisikan tiap tiap fungsi tersebut pada route. Berikut adalah list route jika menggunakan RESTful Controller.</p>
<div id="attachment_1885" style="width: 646px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1885" decoding="async" loading="lazy" class="wp-image-1885 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_063-e1500539078495.png" alt="Membuat CRUD di Laravel dengan RESTful Controller" width="636" height="151" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_063-e1500539078495.png 929w, https://mragus.com/wp-content/uploads/2016/08/Selection_063-e1500539078495-300x71.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_063-e1500539078495-768x182.png 768w" sizes="(max-width: 636px) 100vw, 636px" /><p id="caption-attachment-1885" class="wp-caption-text">Membuat CRUD di Laravel dengan RESTful Controller</p></div>
<h2 style="text-align: left;">Membuat CRUD di Laravel dengan RESTful Controller</h2>
<p style="text-align: left;">Saya akan menggunakan dua tabel pada crud yang kita buat, tabel yang di pakai adalah tabel kategori dan tabel blog. Tabel blog dan kategori memiliki relasi dengan id_kategori sebagai foreign key di tabel Blog.</p>
<p style="text-align: left;">Tb Kategori</p>
<pre class="lang:default decode:true EnlighterJSRAW">+---------------+-------------+------+-----+---------+----------------+
| Field         | Type        | Null | Key | Default | Extra          |
+---------------+-------------+------+-----+---------+----------------+
| id_kategori   | int(11)     | NO   | PRI | NULL    | auto_increment |
| nama_kategori | varchar(50) | NO   |     | NULL    |                |
+---------------+-------------+------+-----+---------+----------------+
</pre>
<p style="text-align: left;">Tb Blog</p>
<pre class="lang:default decode:true EnlighterJSRAW">+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| id_kategori | int(11)      | NO   | MUL | 0       |                |
| tanggal     | date         | YES  |     | NULL    |                |
| judul       | varchar(50)  | YES  |     | NULL    |                |
| isi         | varchar(50)  | YES  |     | NULL    |                |
| status      | int(11)      | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
</pre>
<h3 style="text-align: left;">Mulai Nyekrip</h3>
<p style="text-align: left;">Setelah itu kita buat model dan restful controller menggunakan artisan. Saya juga menggunakan form dari laravel collective, untuk instalasi dan konfigurasi bisa dilihat dari website resminya <a href="https://laravelcollective.com/docs/5.2/html">disini</a>.</p>
<pre class="lang:default decode:true EnlighterJSRAW">php artisan make:model TbKategori

php artisan make:model TbBlog

php artisan make:controller SiteController --resource</pre>
<p style="text-align: left;">Berikut adalah konfigurasi model dengan timestamps false.</p>
<p style="text-align: left;">Model TbBlog.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
namespace App;

use Illuminate\Database\Eloquent\Model;

class TbBlog extends Model
{
    protected $table = "tb_blog";
    public $timestamps = false;
}
</pre>
<p style="text-align: left;">Model TbKategori.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
namespace App;
use Illuminate\Database\Eloquent\Model;

class TbKategori extends Model
{
    protected $table = "tb_kategori";
    public $timestamps = false;
}
</pre>
<p style="text-align: left;">Kemudian kita buat view dengan struktur sebagai berikut.</p>
<div id="attachment_1890" style="width: 208px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1890" decoding="async" loading="lazy" class="wp-image-1890 size-full" src="https://mragus.com/wp-content/uploads/2016/08/Selection_065-e1500538956212.png" alt="Membuat CRUD di Laravel dengan RESTful Controller" width="198" height="272" /><p id="caption-attachment-1890" class="wp-caption-text">Membuat CRUD di Laravel dengan RESTful Controller</p></div>
<h4 style="text-align: left;">Index</h4>
<p style="text-align: left;">Berikut adalah method yang di gunakan untuk menampilkan data pada tabel tb_kategori.</p>
<p style="text-align: left;"><em>*jangan lupa use model TbBlog.</em></p>
<pre class="lang:default decode:true EnlighterJSRAW">public function index()
    {
        $blog = TbBlog::all();
        return view('site.index',compact('blog'));
    }</pre>
<p style="text-align: left;">View yang terdapat pada file index.blade.php.</p>
<pre class="lang:default decode:true EnlighterJSRAW">@extends('layouts.main')

@section('title', 'CRUD BLOG')
@section('content')

&lt;div class="row"&gt;
 &lt;div class="col-lg-12"&gt;
  &lt;a href="{{ action('SiteController@create') }}" class="btn btn-success"&gt;Create&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;div class="row" style="margin-top:10px"&gt;
 &lt;div class="col-lg-12"&gt;
  &lt;table class="table table-bordered table-hover"&gt;
   &lt;thead&gt;
    &lt;tr&gt;
     &lt;th&gt;Kategori&lt;/th&gt;
     &lt;th&gt;Tanggal&lt;/th&gt;
     &lt;th&gt;Judul&lt;/th&gt;
     &lt;th&gt;Isi&lt;/th&gt;
     &lt;th&gt;Status&lt;/th&gt;
     &lt;th&gt;Action&lt;/th&gt;
    &lt;/tr&gt;
   &lt;/thead&gt;
   &lt;tbody&gt;
    @foreach($blog as $row)
    &lt;tr&gt;
     &lt;td&gt;{{ $row-&gt;id_kategori }}&lt;/td&gt;
     &lt;td&gt;{{ $row-&gt;tanggal }}&lt;/td&gt;
     &lt;td&gt;{{ $row-&gt;judul }}&lt;/td&gt;
     &lt;td&gt;{{ $row-&gt;isi }}&lt;/td&gt;
     &lt;td&gt;{{ $row-&gt;status }}&lt;/td&gt;
     &lt;td&gt;
      &lt;a href="{{ action('SiteController@edit',['id'=&gt;$row-&gt;id]) }}" class="btn btn-xs btn-success"&gt;&lt;i class="glyphicon glyphicon-pencil"&gt;&lt;/i&gt;&lt;/a&gt;
      &lt;form action="{{ action('SiteController@destroy',['id'=&gt;$row-&gt;id]) }}" method="POST"&gt;
       {{ csrf_field() }}
       {{ method_field('DELETE') }}
       &lt;button class="btn btn-xs btn-danger" type="submit"&gt;
        &lt;i class="glyphicon glyphicon-trash"&gt;&lt;/i&gt;
       &lt;/button&gt;   
      &lt;/form&gt;	
     &lt;/td&gt;
    &lt;/tr&gt;
    @endforeach
   &lt;/tbody&gt;
  &lt;/table&gt;
 &lt;/div&gt;
&lt;/div&gt;

@endsection</pre>
<h4 style="text-align: left;">Create</h4>
<p style="text-align: left;">Berikut adalah skrip yang digunakan untuk proses insert. Terdapat 2 method yang digunakan untuk proses insert data, yaitu method create dan method store. Method Create di gunakan untuk menampilkan form sementara method store digunakan untuk menyimpan data. Untuk mengisi form selection pada kategori kita gunakan lists.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function create()
{
       $blog = new TbBlog;
       $kategori = TbKategori::lists('nama_kategori','id_kategori');

       return view('site.create',compact('blog','kategori'));
}

public function store(Request $request)
{
      $blog = new TbBlog;
      $blog-&gt;id_kategori = $request-&gt;id_kategori;
      $blog-&gt;tanggal = $request-&gt;tanggal;
      $blog-&gt;judul = $request-&gt;judul;
      $blog-&gt;isi = $request-&gt;isi;
      $blog-&gt;status = $request-&gt;status;

      $blog-&gt;save();
      \Session::flash('flash_message','data berhasil di simpan');
      return redirect()-&gt;action('SiteController@index');
}</pre>
<p style="text-align: left;">create.blade.php.</p>
<pre class="lang:default decode:true EnlighterJSRAW">@extends('layouts.main') 
@section('title', 'Create')
@section('content')
&lt;div class="row"&gt;
 &lt;div class="col-lg-6"&gt;
  &lt;h4&gt;Create Blog&lt;/h4&gt;
  {!! Form::model($blog, array('action' =&gt; 'SiteController@store')) !!}
   @include('site._form')
  {!! Form::close() !!}
&lt;/div&gt;

@endsection</pre>
<h4 style="text-align: left;">Update</h4>
<p style="text-align: left;">Berikut adalah skrip yang digunakan untuk proses update. Terdapat dua method yang di gunakan untuk proses update, yaitu method edit untuk menampilkan form edit dan method update yang untuk proses menyimpan update.</p>
<pre class="lang:default decode:true EnlighterJSRAW">    public function edit($id)
    {
        $blog = TbBlog::find($id);
        $kategori = TbKategori::lists('nama_kategori','id_kategori');
        return view('site.edit',compact('blog','kategori'));
    }
    public function update(Request $request, $id)
    {
        $blog = TbBlog::find($id);
        $blog-&gt;id_kategori = $request-&gt;id_kategori;
        $blog-&gt;tanggal = $request-&gt;tanggal;
        $blog-&gt;judul = $request-&gt;judul;
        $blog-&gt;isi = $request-&gt;isi;
        $blog-&gt;status = $request-&gt;status;

        $blog-&gt;save();
        \Session::flash('flash_message','data berhasil di update');

        return redirect()-&gt;action('SiteController@index');
    }</pre>
<p style="text-align: left;">edit.blade.php.</p>
<p style="text-align: left;"><em>*untuk proses update harus menggunakan method PUT</em></p>
<pre class="lang:default decode:true EnlighterJSRAW">@extends('layouts.main')

@section('title', 'Update')
@section('content')
&lt;div class="row"&gt;
 &lt;div class="col-lg-6"&gt;
  &lt;h4&gt;Update Blog&lt;/h4&gt;
  {!! Form::model($blog, array('action' =&gt; ['SiteController@update','id'=&gt;$blog-&gt;id])) !!}
   &lt;input type="hidden" name="_method" value="PUT"&gt;
   @include('site._form')
  {!! Form::close() !!}
&lt;/div&gt;
@endsection</pre>
<h4 style="text-align: left;">Form</h4>
<p style="text-align: left;">Untuk form create dan update tidak perlu kita buat terpisah, cukup kita buat satu dan gunakan include.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;div class="form-group"&gt;
 &lt;label&gt;Kategori&lt;/label&gt;
 {!! Form::select('id_kategori', $kategori,null,['class'=&gt;'form-control','placeholder' =&gt; '- pilih kategori -']) !!}
&lt;/div&gt;
&lt;div class="form-group"&gt;
 &lt;label&gt;Tanggal&lt;/label&gt;
 {!! Form::date('tanggal', null, ['class'=&gt;'form-control']) !!}
&lt;/div&gt;
&lt;div class="form-group"&gt;
 &lt;label&gt;Judul&lt;/label&gt;
 {!! Form::text('judul',null,['class'=&gt;'form-control']); !!}
&lt;/div&gt;
&lt;div class="form-group"&gt;
 &lt;label&gt;Isi&lt;/label&gt;
 {!! Form::textarea('isi',null,['class'=&gt;'form-control', 'rows' =&gt; 2, 'cols' =&gt; 40]) !!}
&lt;/div&gt;
&lt;div class="form-group"&gt;
 &lt;label&gt;Status&lt;/label&gt;
 &lt;div class="radio"&gt;
  &lt;label&gt;{!! Form::radio('status', '1') !!}Aktif&lt;/label&gt;
 &lt;/div&gt;
 &lt;div class="radio"&gt;
  &lt;label&gt;{!! Form::radio('status', '0') !!}Non Aktif&lt;/label&gt;
 &lt;/div&gt;
&lt;/div&gt;
{!! Form::submit('Simpan',['class'=&gt;'btn btn-success']); !!}</pre>
<h4 style="text-align: left;">Delete</h4>
<p style="text-align: left;">Berikut adalah method yang digunakan untuk proses hapus.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">public function destroy($id)
    {
        $blog = TbBlog::destroy($id);
        \Session::flash('flash_message','data berhasil di hapus');
        return redirect()-&gt;action('SiteController@index');
    }</pre>
<h3 style="text-align: left;">Uji Coba</h3>
<p style="text-align: left;">Oke sekarang kita coba tes skrip yang telah kita buat di atas. Untuk tampilan index nya adalah sebagai berikut.</p>
<div id="attachment_1898" style="width: 532px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1898" decoding="async" loading="lazy" class="wp-image-1898 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_066.png" alt="Membuat CRUD di Laravel dengan RESTful Controller" width="522" height="155" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_066.png 1175w, https://mragus.com/wp-content/uploads/2016/08/Selection_066-300x89.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_066-768x228.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_066-1024x304.png 1024w" sizes="(max-width: 522px) 100vw, 522px" /><p id="caption-attachment-1898" class="wp-caption-text">Membuat CRUD di Laravel dengan RESTful Controller</p></div>
<p style="text-align: left;">Kemudian kita coba insert data.</p>
<div id="attachment_1899" style="width: 513px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1899" decoding="async" loading="lazy" class="wp-image-1899 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_067.png" alt="Membuat CRUD di Laravel dengan RESTful Controller" width="503" height="488" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_067.png 618w, https://mragus.com/wp-content/uploads/2016/08/Selection_067-300x291.png 300w" sizes="(max-width: 503px) 100vw, 503px" /><p id="caption-attachment-1899" class="wp-caption-text">Membuat CRUD di Laravel dengan RESTful Controller</p></div>
<p style="text-align: left;">Data berhasil disimpan pada database.</p>
<div id="attachment_1900" style="width: 530px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1900" decoding="async" loading="lazy" class="wp-image-1900 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_068-1024x404.png" alt="Membuat CRUD di Laravel dengan RESTful Controller" width="520" height="205" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_068-1024x404.png 1024w, https://mragus.com/wp-content/uploads/2016/08/Selection_068-300x118.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_068-768x303.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_068.png 1185w" sizes="(max-width: 520px) 100vw, 520px" /><p id="caption-attachment-1900" class="wp-caption-text">Membuat CRUD di Laravel dengan RESTful Controller</p></div>
<p style="text-align: left;">Kemudian coba proses update data.</p>
<div id="attachment_1901" style="width: 474px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1901" decoding="async" loading="lazy" class="wp-image-1901 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_069.png" alt="Membuat CRUD di Laravel dengan RESTful Controller" width="464" height="465" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_069.png 591w, https://mragus.com/wp-content/uploads/2016/08/Selection_069-150x150.png 150w, https://mragus.com/wp-content/uploads/2016/08/Selection_069-300x300.png 300w" sizes="(max-width: 464px) 100vw, 464px" /><p id="caption-attachment-1901" class="wp-caption-text">Membuat CRUD di Laravel dengan RESTful Controller</p></div>
<div id="attachment_1902" style="width: 531px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1902" decoding="async" loading="lazy" class="wp-image-1902 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_070-1024x463.png" alt="Membuat CRUD di Laravel dengan RESTful Controller" width="521" height="236" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_070-1024x463.png 1024w, https://mragus.com/wp-content/uploads/2016/08/Selection_070-300x136.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_070-768x347.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_070.png 1171w" sizes="(max-width: 521px) 100vw, 521px" /><p id="caption-attachment-1902" class="wp-caption-text">Membuat CRUD di Laravel dengan RESTful Controller</p></div>
<p style="text-align: left;">Kemudian kita coba proses delete.</p>
<div id="attachment_1903" style="width: 535px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1903" decoding="async" loading="lazy" class="wp-image-1903 " src="https://mragus.com/wp-content/uploads/2016/08/Selection_071-1024x374.png" alt="Membuat CRUD di Laravel dengan RESTful Controller" width="525" height="192" srcset="https://mragus.com/wp-content/uploads/2016/08/Selection_071-1024x374.png 1024w, https://mragus.com/wp-content/uploads/2016/08/Selection_071-300x109.png 300w, https://mragus.com/wp-content/uploads/2016/08/Selection_071-768x280.png 768w, https://mragus.com/wp-content/uploads/2016/08/Selection_071.png 1181w" sizes="(max-width: 525px) 100vw, 525px" /><p id="caption-attachment-1903" class="wp-caption-text">Membuat CRUD di Laravel dengan RESTful Controller</p></div>
<p style="text-align: left;">Semua proses sudah berjalan dengan baik untuk proses dasar crud. Untuk validasi request akan kita bahas pada tulisan berikutnya. Sekian tulisan dari saya mengenai Membuat CRUD di laravel dengan RESTful Controller. Semoga bermanfaat, Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-crud-di-laravel-dengan-restful-controller/">Membuat CRUD di Laravel dengan RESTful Controller</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-crud-di-laravel-dengan-restful-controller/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cara menginstall Framework Laravel</title>
		<link>https://mragus.com/cara-menginstall-framework-laravel/</link>
					<comments>https://mragus.com/cara-menginstall-framework-laravel/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Mon, 18 Jul 2016 04:50:30 +0000</pubDate>
				<category><![CDATA[Laravel Framework]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=1465</guid>

					<description><![CDATA[<p>Assalamualaikum wrb wb, kali ini saya akan share cara menginstall Framework Laravel. Laravel merupakan framework PHP MVC yang di kembangkan oleh Taylor Otwell pada tahun 2011 dan sekarang sudah sampai pada versi 5.2. Ada banyak kelebihan dari framework Laravel&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/cara-menginstall-framework-laravel/">Cara menginstall Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Assalamualaikum wrb wb, kali ini saya akan share cara menginstall Framework Laravel. Laravel merupakan framework PHP MVC yang di kembangkan oleh Taylor Otwell pada tahun 2011 dan sekarang sudah sampai pada versi 5.2. Ada banyak kelebihan dari framework Laravel antara lain memiliki sekuritas yang baik, clean code, mengikuti standart kode <a href="https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md">PSR-2</a> dan autoload <a href="https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md">PSR-4</a>, <span id="more-1465"></span>serta komunitas yang luas.</p>
<p style="text-align: left;">Sebenarnya untuk cara instalasi framework Laravel sudah terdapat pada dokumentasi resminya <a href="https://laravel.com/docs/5.2/installation">disini</a>, tetapi mungkin pada beberapa orang terdapat kendala saat instalasi. Untuk dapat menginstall framework laravel melalui Laravel Installer, terlebih dahulu anda harus menginstall composer. Bagi yang belum tahu cara install composer bisa dilihat <a href="https://mragus.com/cara-menginstall-composer-di-ubuntu/">disini</a>.</p>
<h2 style="text-align: left;">Cara menginstall Framework Laravel</h2>
<p style="text-align: left;">Buat terlebih dahulu installer dari laravel dengan mengetikkan via terminal sebagai berikut, dan tunggu proses selesai.</p>
<pre class="lang:default decode:true EnlighterJSRAW">composer global require "laravel/installer"</pre>
<div id="attachment_1469" style="width: 542px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1469" decoding="async" loading="lazy" class="wp-image-1469 " src="https://mragus.com/wp-content/uploads/2016/07/blog13.png" alt="Cara menginstall Framework Laravel" width="532" height="419" srcset="https://mragus.com/wp-content/uploads/2016/07/blog13.png 781w, https://mragus.com/wp-content/uploads/2016/07/blog13-300x236.png 300w, https://mragus.com/wp-content/uploads/2016/07/blog13-768x605.png 768w" sizes="(max-width: 532px) 100vw, 532px" /><p id="caption-attachment-1469" class="wp-caption-text">Cara menginstall Framework Laravel</p></div>
<p style="text-align: left;">Kemudian setting sehingga direktori ~/.composer/vendor/bin dapat dieksekusi, dengan mengetikkan kode berikut.</p>
<pre class="lang:default decode:true EnlighterJSRAW">export PATH="~/.composer/vendor/bin:$PATH"</pre>
<p style="text-align: left;">Untuk Ubuntu 16.04 terdapat beberapa penyesuaian, edit konfig pada environtment.</p>
<div class="post-text" style="text-align: left;">
<pre class="lang:default decode:true EnlighterJSRAW">nano .bashrc</pre>
<p>Tambahkan script berikut.</p>
<pre class="lang:default decode:true EnlighterJSRAW">export PATH="$PATH:$HOME/.config/composer/vendor/bin"</pre>
<p>Reload path pada konfigurasi.</p>
<pre class="lang:default decode:true EnlighterJSRAW">source ~/.bashrc</pre>
</div>
<p style="text-align: left;">Kemudian cek apakah installer laravel sudah dapat di akses.</p>
<div id="attachment_1472" style="width: 539px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1472" decoding="async" loading="lazy" class="wp-image-1472 " src="https://mragus.com/wp-content/uploads/2016/07/blog14.png" alt="Cara menginstall Framework Laravel" width="529" height="163" srcset="https://mragus.com/wp-content/uploads/2016/07/blog14.png 1117w, https://mragus.com/wp-content/uploads/2016/07/blog14-300x92.png 300w, https://mragus.com/wp-content/uploads/2016/07/blog14-768x237.png 768w, https://mragus.com/wp-content/uploads/2016/07/blog14-1024x315.png 1024w" sizes="(max-width: 529px) 100vw, 529px" /><p id="caption-attachment-1472" class="wp-caption-text">Cara menginstall Framework Laravel</p></div>
<p style="text-align: left;">Untuk membuat sebuah project, arahkan ke web root anda terlebih dahulu, biasanya pada linux di var/www/html/. Kemudian ketikkan kode berikut pada terminal dan tunggu proses hingga selesai.</p>
<pre class="lang:default decode:true EnlighterJSRAW">laravel new NamaAplikasi</pre>
<div id="attachment_1473" style="width: 527px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1473" decoding="async" loading="lazy" class="wp-image-1473 " src="https://mragus.com/wp-content/uploads/2016/07/blog16.png" alt="Cara menginstall Framework Laravel" width="517" height="526" srcset="https://mragus.com/wp-content/uploads/2016/07/blog16.png 617w, https://mragus.com/wp-content/uploads/2016/07/blog16-295x300.png 295w" sizes="(max-width: 517px) 100vw, 517px" /><p id="caption-attachment-1473" class="wp-caption-text">Cara menginstall Framework Laravel</p></div>
<h3 style="text-align: left;">Catatan<em> </em></h3>
<p style="text-align: left;">Terkadang terdapat error seperti berikut saat memulai install project laravel di Linux, dengan asumsi root project di var/www/html.</p>
<pre class="lang:default decode:true EnlighterJSRAW">PHP Warning:  file_put_contents(/var/www/html/laravel_d4381b5ce250405766ef8b9fa784b256.zip): failed to open stream: Permission denied in /home/ren/.composer/vendor/laravel/installer/src/NewCommand.php on line 81
PHP Warning:  ZipArchive::extractTo(): Permission denied in /home/ren/.composer/vendor/laravel/installer/src/NewCommand.php on line 99
PHP Warning:  ZipArchive::close(): Invalid or unitialized Zip object in /home/ren/.composer/vendor/laravel/installer/src/NewCommand.php on line 101
Application ready! Build something amazing.</pre>
<p style="text-align: left;"><em>Ubah permissionnya terlebih dahulu agar tidak terjadi error seperti contoh di atas.</em></p>
<pre class="lang:default decode:true EnlighterJSRAW">sudo chown &lt;user-name&gt; /var/www/html</pre>
<p style="text-align: left;">Setelah selesai instalasi, coba panggil applikasi yang telah anda install tadi pada localhost, pada beberapa kasus terlebih dahulu ubah permission pada project anda dengan chown atau chmod.</p>
<div id="attachment_1474" style="width: 547px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1474" decoding="async" loading="lazy" class="wp-image-1474 " src="https://mragus.com/wp-content/uploads/2016/07/blog17.png" alt="Cara menginstall Framework Laravel" width="537" height="238" srcset="https://mragus.com/wp-content/uploads/2016/07/blog17.png 1353w, https://mragus.com/wp-content/uploads/2016/07/blog17-300x133.png 300w, https://mragus.com/wp-content/uploads/2016/07/blog17-768x341.png 768w, https://mragus.com/wp-content/uploads/2016/07/blog17-1024x454.png 1024w" sizes="(max-width: 537px) 100vw, 537px" /><p id="caption-attachment-1474" class="wp-caption-text">Cara menginstall Framework Laravel</p></div>
<p style="text-align: left;">Sekian tutorial dari saya, semoga dapat bermanfaat bagi yang ingin memulai belajar laravel. Terimakasih.</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/cara-menginstall-framework-laravel/">Cara menginstall Framework Laravel</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/cara-menginstall-framework-laravel/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
