Jumat, 19 Juni 2020

Fungsi fungsi laravel model

- multiple like atau cara menggunakan fungsi like dengan banyak kondisi :
$proposals = $this->where('is_submitted','=', $is_submit)
                      ->where(function($query) use ($keyword)
                            {
                              $query->where( 'judul','LIKE', '%'.$keyword.'%' )
                                    ->orWhere( 'nama_organisasi','LIKE', '%'.$keyword.'%' );
                            })
                  ->paginate(10);

- kondisi untuk query jika param tidak ada :
$query = $this->join('kategori_dokumens', 'kategori_dokumens.id', '=', 'dokumens.kategori_dokumen_id')
                    ->where('dokumens.active','=', true)
                    ->where(function($query) use ($param)
                          {
                            $query->where( 'dokumens.judul_dokumen','LIKE', '%'.$param['search'].'%' )
                                  ->orWhere( 'dokumens.deskripsi','LIKE', '%'.$param['search'].'%' );
                          });
      if (isset($param['kategori_dokumen'])) {
        $query->where('kategori_dokumens.slug_dokumen', $param['kategori_dokumen']);
      }
      
      $data = $query->paginate(3);
      return $data;

- limit query builder laravel :
$dokumen_latest_posts = Dokumen::whereActive(true)->orderBy('created_at', 'desc')->limit(3)->get();

- fungsi counting jumlah baris rows per bulan
$dokumens = \App\Dokumen::selectRaw('COUNT(*) as count, YEAR(created_at) year, DATE_FORMAT(created_at, "%M") month')
                                ->groupBy('year', 'month')
                                ->get();

Tidak ada komentar:

Posting Komentar