Tag: PHP

Laravel Eloquent Mengambil Satu Kolom atau Kolom Tertentu

Kalau kita ingin mengambil satu kolom atau kolom tertentu dalam Eloquent Laravel caranya ialah dengan menambahkan kolom di belakang fungsi relationship.

Contoh :

public function user(){

return $this->hasOne(‘App\User’)->select(‘fullname’);

}

kalau mau lebih dari satu kolom tinggal menambahkan kolomnya :

public function user(){

return $this->hasOne(‘App\User’)->select(‘fullname’, ’email’);

}

 

Referensi :

https://laracasts.com/discuss/channels/eloquent/eloquent-hasone-relation-get-only-id-or-certain-columns

 

Iklan

Error CodeIgniter : A PHP Error was encountered Severity: Warning Message: mkdir(): Invalid path Filename: drivers/Session_files_driver.php Line Number: 117

Malam ini saya ada error di aplikasi codeigniter saya :

A PHP Error was encountered

Severity: Warning

Message: mkdir(): Invalid path

Filename: drivers/Session_files_driver.php

Line Number: 117

 

Dan setelah browsing nemu caranya yaitu :

  1. Masuk ke file config.php di application/config/config.php
  2. ubah settingan
    $config['sess_save_path'] = null 
    menjadi 
    $config['sess_save_path'] = sys_get_temp_dir();

 

Dan Alhamdulillah solved…..

 

Referensi :

http://stackoverflow.com/questions/31042456/when-i-want-to-use-session-in-codeigniter-it-says-error-why

Asah Otak : Bermain dengan Subquery

Forum PHP indonesia
Forum PHP indonesia

Sore2 setelah shalat Ashar iseng buka facebook nemu ngelihat ada yang tanya di forum php tentang query .

Menarik pertanyaannya, sekilas hasilnya simple , tapi dicoba lumayan juga butuh effort mikir.

Akhirnya saya ajak agus buat iseng2 nyoba mecahin.

“Gus ini ada kasus bagus deh buat latihan asah otak”

saya dan agus pun utak atik…

Sudah hampir setengah jam berlalu….

Dan hasilnya…. sore itu kita berdua belum bisa mecahin kasus ini dengan sempurna, cuma agus yang hampir nemu, dia memang jago logika nya di atas saya.

Akhirnya daripada pusing2 mecahin kasus punya orang lain lebih baik saya nerusin aja ah kerjaan kantor yang lebih penting.

“udah gus buat nanti aja kalau lagi iseng, itu butuh konsentrasi lebih”

“Iya jal, butuh konsentrasi lebih nih”

Eh pagi tadi saya datang ke kantor sudah ada agus dan dia bersorak “Jal aku udah temu”, bener dah tuh orang  lebih pinter dari saya.

Akhirnya penasaran, saya coba lagi utak atik , awalnya saya gambar di kertas hasilnya dan saya uraikan di kertas

“Tampilkan kelas, nama, ipk masing2 kelas yang mempunyai nilai ipk tertingi”

itu memang salah satu cara saya menguraikan suatu kasus, saya tulis di kertas uraiannya.

Dan setelah utak atik utak atik di phpmyadmin…tara……berhasil

Ternyata memang butuh istirahat semalam buat ngademin kepala, kemarin sudah penuh kali dari pagi, mungkin juga karena sebelumnya saya uraikan kemarin main hajar aja langsung query.

Yuk ah langsung ke kasus

Ada dua table

Table pertama : mahasiswa

Table mahasiswa
Table mahasiswa

Table kedua : ipk

Table IPK
Table IPK

Dan permintaan dari user adalah :

“Tampilkan nama mahasiswa yang ipk nya tertinggi di masing-masing kelas”

Ini query saya :

SELECT mahasiswa.nama, result.kelas, result.terbesar FROM mahasiswa
INNER JOIN ipk ON mahasiswa.id = ipk.mahasiswa_id
INNER JOIN
( SELECT kelas, MAX(ipk.ipk) AS terbesar FROM `mahasiswa` INNER JOIN ipk ON mahasiswa.id = ipk.mahasiswa_id GROUP BY kelas) AS result ON mahasiswa.kelas = result.kelas AND ipk.ipk = result.terbesar

Dan ini hasilnya tara…:

Hasil Query
Hasil Query

Ternyata saya cocokkan dengan agus, query saya dengan agus hampir sama karena logika pemecahan kasusnya ternyata sama.

Kesimpulan saya :

  1. Kalau kita mentok mungkin kita butuh istirahat, ngga perlu dipaksain
  2. Dengan menuliskan uraian kasus di kertas akan lebih memudahkan dan mempercepat penyelesaian masalah
  3. Subquery atau Query dalam Query atau bisa juga disebut Query bersarang adalah salah satu hal penting yang perlu dipelajari untuk memecahkan kasus yang sulit.

Thanks to https://www.facebook.com/chietra.chandrasari?fref=nf yang sudah membuat saya teman saya , agus berlatih asah otak.

PHP – Cara Menghilangkan %20 di URL Menjadi Spasi

Untuk menghilangkan %20 di url menjadi spasi di PHP menggunakan syntax rawurldecode, bila diterapkan di codeigniter :

$string_url = $this->uri->segment(3);

echo rawurldecode($string_url);

Bisa juga memakai

urldecode($string_url);

Awalnya saya menggunakan trik preg_replace :

$string_url = $this->uri->segment(3);

echo preg_replace(‘/%20/’, ‘ ‘, $string_url);

keduanya bisa digunakan , hanya saja cara pertama lebih efisien karena fungsi built in php dan cara kedua adalah trik karena belum ketemu yang pertama

sumber  :

http://php.net/manual/en/function.urldecode.php

http://php.net/manual/ro/function.rawurldecode.php

http://php.net/manual/ro/function.preg-replace.php

Menghitung Selisih Bulan Antar Dua Tanggal Dalam PHP

Menghitung selisih bulan antar dua tanggal bisa memakai fungsi berikut :

public  function diffInMonths(\DateTime $date1, \DateTime $date2)
{
$diff =  $date1->diff($date2);

$months = $diff->y * 12 + $diff->m + $diff->d / 30;

return (int) round($months);
}

Adapun cara memakainya tinggal dipanggil functionnya

$start = create_date(‘2015-01-01’);

$end =  create_date(‘2015-06-30’);

echo $this->diffInMonths($start, $end);

fungsi di atas akan menghasilkan nilai 6  , maksudnya 6 bulan

fungsi di atas cukup membantu, setelah tanggal 15 maka akan dihitung satu bulan , jika di bawah 15 maka tidak dihitung , contoh di atas, jika

$end =  create_date(‘2015-06-16’);

maka akan menghasilkan 6  bulan

tapi jika

$end =  create_date(‘2015-06-14’);

maka akan dihitung 5 bulan

sumber :

http://stackoverflow.com/questions/2681548/find-month-difference-in-php

http://www.w3schools.com/php/func_date_date_diff.asp

Menangani Error Notepad++ : Please check whether if this file is opened in another program

Tadi sewaktu edit file php di notepad++ dan mau menyimpan eh keluar error :

 Please check whether if this file is opened in another program

Setelah browsing ketemu dah di stackoverflow , caranya yaitu :

Cukup ubah permission di folder dan subfolder nya

Sumber :

http://stackoverflow.com/questions/2763067/unable-to-edit-and-save-a-file-on-remote-machine-using-notepad

PHP – Cara Mendapatkan Jumlah Minggu Dalam Setahun

Untuk mengetahui berapa sih jumlah minggu atau pekan dalam setahun dalam php memakai  syntax :

idate('W', mktime(0, 0, 0, 12, 27, $year))

Adapun variable $year bisa diganti dengan tahun yang kita inginkan misal tahun sekarang

$year  = date(‘Y’);

echo idate('W', mktime(0, 0, 0, 12, 27, $year));

sumber :http://weeknumber.net/how-to/php