If you plan to do this directly in your controller method you can do something like:

public function getUser(Request $request)
{
$request->merge(['id' => $request->route('id')]);
$request->validate([
'id' => [
'required',
'exists:users,id'
]
]);
}

To do this in a custom FormRequest class, add the following:

protected function prepareForValidation()…

--

--

Issue

SQLSTATE[21000]: Cardinality violation: 7 ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time. HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.

Search Problems

Your query is using

insert into <table> (<values> on conflict (<on conflict columns name>) do update set <excluded solumn(s) name>

or in framework laravel is using upsert().

Check Your Table

  1. table must has key (ID primary) and (on conflict columns)
  2. table must has index unique about your on conflict columns.
  3. Check your table’s datas. No duplicate primary key, and no duplicate on conflict columns combine.

--

--

Since I had to face this issue as well, let me share how to make this work. If you have to switch back and forth on mac then this is what works for me.

Let’s say you have multiple PHP versions installed 7.2 and 7.4

Now my current PHP version is 7.4 & I have to switch back to 7.2, steps will be.

  1. brew unlink php@7.4 && brew link php@7.2 --force
  2. nano ~/.zshrc -> Update Export Path From 7.4 to 7.2

--

--

Sebenarnya, kita bisa menjalankan kubernetes di Docker Desktop secara langsung tanpa harus install minikube.

Persiapan yang dibutuhkan:

  1. Install Docker Desktop, sebagai penampung container-container yang nantinya digunakan di kubernetes.
  2. Install kubectl, sebagai controller kubernetes nantinya.

Setelah kita mempersiapkan Docker Desktop dan kubectl, langkah-langkahnya yaitu:

  1. Buka Dashboard Docker Desktop
  2. Klik gear icon, untuk membuka preferences lalu klik tab Kubernetes.
Menu Preferences pada Docker Desktop

3. Ceklis Enable Kubernetes. Tunggu hingga selesai.

4. Jika sudah selesai, bisa dicoba apakah sudah running kubernetes nya dengan menjalankan command kubectl get all di terminal.

--

--

logo minikube

Saya tidak akan menjelaskan panjang lebar mengenai teori minikube itu seperti apa. Langsung saja kita praktek! Berikut langkah-langkah instalasi (khusus di MacOS, karena menggunakan brew).

  1. Pastikan sudah menginstall brew. Kalau belum bisa dicek di sini caranya.
  2. Pastikan sudah menginstall docker. Rekomendasi yang paling mudah adalah docker desktop. Bisa dicek di sini instalasinya.
  3. Buka terminal, ketik brew install minikube. Lalu enter.
  4. Untuk memulai minikube, ketik di terminal minikube start --driver=docker, kemudian enter.
  5. Rekomendasi, untuk set default driver minikube nya ke docker, ketik di terminal minikube config set driver docker kemudian enter.
  6. Untuk eksekusi perintah-perintah di kubernetes adalah dengan menggunakan kubectl. Anda sebenarnya tidak perlu install kubectl, karena sudah include di dalam minikube, dengan mengetikan minikube kubectl.
  7. Selamat! Instalasi selesai! Sampai jumpa di Part 2.

--

--

Budiaramdhan Rindi

Budiaramdhan Rindi

Currently work as Coder since 2011 and still have to learn. Dota 2 and Football Manager are the games I still play to stay fresh.